2016-08-19 3 views
2

Я следил за советом Günter Zöchbauer по телефону how to create dynamic components , и мне было интересно, как я могу передавать ему значения - как в, у дочернего компонента есть @input.Angular2 - Передача значений динамическому компоненту, созданному с помощью ComponentFactory

Использование примера plunker, приведенного в вышеуказанном вопросе - plunker - как я могу передать дочерний компонент строке, вызывая его сообщение, которое будет отображаться при нажатии кнопки «Добавить».

Вот пример того, как ребенок компонент может выглядеть:

import {Component OnChanges, Input} from '@angular/core' 

    @Component({ 
     selector: 'hello', 
     providers: [], 
     template: `<h1>{{message}}</h1>`, 
     directives: [] 
    }) 
    export class HelloComponent implements OnChanges { 
     @Input() message:any; 

     constructor() { 
     } 

     ngOnChanges(changes:any){ 
     } 
    } 

ответ

9

Вы можете попробовать ниже,

let instance = this.viewContainerRef.createComponent(this.componentFactory, 0).instance; 
    instance.message = "some text!!"; 

Вот Plunker!!

Надеется, что это помогает !!

+1

Сначала я хочу передать фиктивные данные, чтобы показать экран загрузки, а затем, как только я получу данные из API, я хочу передать его. Это возможно – indra257