【发布时间】:2018-10-04 10:48:02
【问题描述】:
我正在尝试使用 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>
如果未设置该值,用户会看到占位符,否则用户应该看到他/她选择的选项的确切内容,例如在这种情况下图像和文本。那么,如何在SelectComponent 中访问和呈现所选选项的用户指定模板?
问题不在于我不能用@Output() 设置值。这是容易的部分。我想以与<app-option/> 中指定的SelectComponent 的用户相同的方式呈现该值。一个选项应该能够包含任何内容(甚至是另一个组件,比如CardComponent),并且在用户选择一个值之后,我想在SelectComponent 中显示他/她在选项中看到的所有内容。
在SelectComponent 的模板中我有类似
<div [ngSwitch]="isEmpty" (click)="pp.toggle()">
<button *ngSwitchCase="true">
{{ placeholder }}
</button>
<button *ngSwitchDefault>
THIS SHOULD TURN INTO
<img src="option.iconLocation"> {{ option.name }}
OR ANYTHING ELSE USER SPECIFIED IN THE OPTION COMPONENT
</button>
</div>
<popup #pp>
<ng-content>HERE GOES THE USER'S TEMPLATE</ng-content>
</popup>
see an example。如何获取此 <strong>{{ index }}</strong> {{ option.name }} 部件并在按钮内呈现?
【问题讨论】:
标签: angular