Angular2-передача значений динамическому компоненту, созданному с помощью ComponentFactory
Я следовал совету Гюнтера Цехбауэра о том, как создавать динамические компоненты и мне было интересно, как я мог бы передать ему значения - например, дочерний компонент имеет @ input.
Используя пример 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){
}
}
1 ответ:
Вы можете попробовать ниже,
let instance = this.viewContainerRef.createComponent(this.componentFactory, 0).instance; instance.message = "some text!!";
Вот это плунжер!!
Надеюсь, это поможет!!