2016-07-18 13 views
1

コンポーネントを動的にロードしていますloadAsRoot コンポーネントをロードした後、UIにコンポーネントがロードされますが、プロパティに値があってもバインドされた補間データはロードされません。補間バインディングが機能しません

var componentLoadPromise = this._componentLoader.loadAsRoot(MyComponent, "#placeholder", this._injector); 

return componentLoadPromise.then(myComp=> { 
      return new Promise<boolean>(resolve =>{ 
      myComp["_hostElement"]["component"]["display"](compOptions, resolve);  
      }); 
    }); 
enter code here 

Component.ts

// bounded properties 
    public content: string; 
    public title: string; 


public display(dialogOptions: IDialogParams, resolve: (boolean) => any){ 
    document.onkeyup = null; 
    this._resolveAction = resolve; 
    this.setUpElements(); 
    // here my bounded view properties are populated 
    this.populateViewProperties(dialogOptions); 

    this.wireEvents(); 
    this._confirmElement.style.display = "block";  
} 
+0

も参照してください、あなたのコードを共有してください。 Html + Javascript。 – Blunderfest

答えて

1

DynamicComponentLoaderは推奨されません。代わりにViewContainerRef.createComponent()

は、ルートコンポーネントに対してのみbootstrap()が使用され、デフォルトでは変更検出は行われません。変更検出を手動で行う必要があります。

+1

多くのドキュメントが表示されない コンポーネントを呼び出すときにコンポーネントを動的にロードする必要があるグローバルサービスがあります。 ViewContainerRefへの参照を取得するにはどうすればよいですか? – Avi

+0

'コンストラクタ(ref:ViewContainerRef)'を注入することができます。注入したコンポーネントから1つを取得するか、@ViewChild(ComponentTypeOrTemplateVariableName、{read:ViewContainerRef})ref:ViewContainerRef;を使用できます。このように追加されたコンポーネントは、 'ViewContainerRef'が由来する要素の兄弟として追加されます。 –

+0

また、廃止予定のことをどのように知っていますか?そこへの参照はどこですか? – Avi

関連する問題