Angular 是否可以动态生成md选项元素?
我有一个web应用程序,其中我使用了来自角度材质的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”变量在不同的表单上发生变化,因此我应该在应用程序中的任何
元素。选项值由以下服务提供:
<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>