Angular 从ng内容获取模板';孩子

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

我试图用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-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>