【发布时间】:2016-10-11 09:22:42
【问题描述】:
我需要将表达式传递给将在组件模板中进行评估的组件。
例如组件:
@Component({
selector: 'app-my-component',
...
})
export class MyComponent {
@Input items: MyClass;
@Input expression: String;
...
}
带有组件的模板:
<div *ngFor="let item of items">
{{expression}}
</div>
MyComponent 的使用:
<app-my-component [items]="listOfItems" [expression]="'[item.id] item.name'">
</app-my-component>
由于会有多个输入,我想避免使用 TemplateRef。
【问题讨论】:
-
'[item.id] item.name'应该做什么?这在我看来不像是一种表达方式。你不能传递绑定。 -
将其作为
[expression]=" '{"id":[item.id],"name": item.name}' "传递并用作expression.id 和expression.name -
@GünterZöchbauer 这应该评估为字符串,对于 item = {"id": 1, "name" : "Item1"} to [1] Item1
-
@AtalKishore 我需要输入“表达式”是通用的,所以在 MyComponent 的视图中,我可以将其作为要评估的表达式或模板传递,而不知道它的结构
-
然后使用
[expression]=" '[' + item.id + '] ' + item.name "
标签: angular angular2-components