Угловая директива заселить детей - PullRequest
0 голосов
/ 10 мая 2018

У меня есть директива, которая связывает объектную модель, которая может включать опции. Если он применяется к виджету, который поддерживает параметры, я бы хотел, чтобы он автоматически заполнял параметры. Тем не менее, самое близкое, что я получил, это вставка опций как братьев и сестер директивы host.

В настоящее время функционирует, но 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>

Могу ли я динамически вставить эти параметры как дочерние узлы хоста?

...