2016-07-18 2 views
1

Я загрузка компонент динамически через loadAsRoot После того, как я загрузить компонент, компонент будет загружен в пользовательском интерфейсе, но ограниченные интерполированные данные не загружены, даже если его свойства имеют значение.Интерполяция связывание не работает

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()

DynamicComponentLoader.loadAsRoot() только должен использоваться bootstrap() для корневого компонента и не выполняет никаких изменений по умолчанию. Вам нужно будет вручную установить обнаружение изменений, чтобы заставить его работать.

Смотрите также

+1

Я не вижу много документации по У меня есть глобальная служба, которая должна динамически загружать компонент при его вызове. Как мне получить ссылку на ViewContainerRef? – Avi

+0

Вы можете ввести его 'constructor (ref: ViewContainerRef)', затем вы получите тот из компонента, в который его вводите, или вы можете использовать '@ViewChild (ComponentTypeOrTemplateVariableName, {read: ViewContainerRef}) ref: ViewContainerRef;'. Компоненты, добавленные таким образом, добавляются как родственные элементы элемента, из которого 'ViewContainerRef'. –

+0

Кроме того, откуда вы знаете, что это устарело? где ссылка на это? – Avi

Смежные вопросы