Angular 是否可以动态生成md选项元素?

Angular 是否可以动态生成md选项元素?,angular,angular-material,Angular,Angular Material,我有一个web应用程序,其中我使用了来自角度材质的元素。选项值由以下服务提供: <md-option *ngFor="let option of settingsService.getOption(name)" [value]="option.description"> {{option.description}} </md-option> {{option.description}} 只有“name”变量在不同的表单上发生变化,因此我应该在应用程序中的任何

我有一个web应用程序,其中我使用了来自角度材质的
元素。选项值由以下服务提供:

<md-option *ngFor="let option of settingsService.getOption(name)" [value]="option.description">
    {{option.description}}
</md-option>

{{option.description}}

只有“name”变量在不同的表单上发生变化,因此我应该在应用程序中的任何地方复制此代码段。我想创建一个可重用组件或指令,它可以按名称生成此代码段。我试图将整个
包装到一个自定义控件值访问器中,但在这种情况下,内部表单控件(md select的控件)不会收到有关验证更改的通知。是否可以以某种方式生成这些选项,以便将表单控件放置到select元素?

简短回答:不,它不起作用。

md select
通过查询
ContentChildren
来工作,这些子项是
MdOption
组件内部的实例,作为其直接子项。 如果使用自定义组件:

@Component({
    select: 'foo-options',
    template: `
        <md-option value="some">Some Value</md-option>
    `
})
class AutoCompileOptionsComponent {}

我期待这个答案。:/我仔细检查了md select的代码,得到了与上面所写相同的结论。我必须找到另一种方法,但谢谢你的澄清。我会接受这个答案。
<md-select>
    <foo-options></foo-options>
</md-select>
<md-select>
    <div>
        <md-option value="hah">Hah</md-option>
    </div>
</md-select>