Angular 从ng内容获取模板';孩子
我试图用Angular 5实现一个选择组件。它由选择组件本身和选项组件组成。应该这样使用:Angular 从ng内容获取模板';孩子,angular,Angular,我试图用Angular 5实现一个选择组件。它由选择组件本身和选项组件组成。应该这样使用: <app-select placeholder="Select smth"> <app-option *ngFor="let option of options" [value]="option"> <img src="option.iconLocation"> {{ option.name }} </app-option> </app
<app-select placeholder="Select smth">
<app-option *ngFor="let option of options" [value]="option">
<img src="option.iconLocation"> {{ option.name }}
</app-option>
</app-select>
。如何获取该{index}}{{option.name}}
部分并在按钮内部渲染?您可以使用EventEmitter将值发送到顶级组件(在OptionComponent
中使用它)
它将在更改时发出新值。因此,您可以在任何顶级组件中订阅它
例如,您的代码:
<app-select placeholder="Select smth">
<app-option *ngFor="let option of options"
[value]="option"
(onOptionChanged)="onOptionChangedMethod($event)">
<img src="option.iconLocation"> {{ option.name }}
</app-option>
</app-select>
这就是你要找的吗?我使用@ViewChild
获取app选项使用的转置ng内容的ElementRef
然后,发出的事件现在给一个对象一个值和完整的ElementRef
,以便将其注入订阅此事件的SelectComponent
注意:我不知道它是否能与直接传递到应用程序选项的组件一起工作(应该),但我建议您看看“” 对不起,如果我的问题不够清楚的话。我更新了它,以便更具体地说明问题。哦,对不起,误解了!你能举个例子吗?我用简单的复制更新了我的答案。
<app-select placeholder="Select smth">
<app-option *ngFor="let option of options"
[value]="option"
(onOptionChanged)="onOptionChangedMethod($event)">
<img src="option.iconLocation"> {{ option.name }}
</app-option>
</app-select>