Angular指令填充子项

时间:2018-05-10 18:32:29

标签: angular angular-directive

我有一个绑定可包含选项的对象模型的指令。如果它应用于支持选项的小部件,我希望它自动填充选项。但是,我最接近的是将选项作为指令主机的兄弟插入。

目前功能正常,但ngFor在逻辑上是不必要的:

        <dropdown [ionSetting]="name" #modeSetting="ionSetting">
          <option *ngFor="let option of modeSetting.options" [value]="option">{{ option }}</option>
        </dropdown>

这应该足够好了:

<dropdown [ionSetting]="name" #modeSetting="ionSetting"></dropdown>

要做到这一点,我需要指令来做一些事情:

updateHost() {
      const optionFactory = this.resolver.resolveComponentFactory(Option);
      this.viewContainerRef.clear();
      this.options.forEach(option => {
          const component = this.viewContainerRef.createComponent(optionFactory);
          component.instance.value = option;
          // insert 'option' text
      });
}

但这会产生兄弟姐妹:

<dropdown [ionSetting]="name"></dropdown>
<option [value]="option"></option>

我可以动态插入这些选项作为主持人的孩子吗?

0 个答案:

没有答案