Angular2 - 将值传递给使用ComponentFactory创建的动态组件

Jac*_*ock 4 angular2-directives angular

我正在关注GünterZöchbauer关于如何创建动态组件的建议 ,我想知道如何将值传递给它 - 就像在子组件中有@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){
      }
    }
Run Code Online (Sandbox Code Playgroud)

Mad*_*jan 14

你可以尝试下面,

  let instance  = this.viewContainerRef.createComponent(this.componentFactory, 0).instance;
  instance.message = "some text!!";
Run Code Online (Sandbox Code Playgroud)

这是Plunker !!

希望这可以帮助!!