У меня есть директива, которая связывает объектную модель, которая может включать опции. Если он применяется к виджету, который поддерживает параметры, я бы хотел, чтобы он автоматически заполнял параметры. Тем не менее, самое близкое, что я получил, это вставка опций как братьев и сестер директивы 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>
Могу ли я динамически вставить эти параметры как дочерние узлы хоста?