【发布时间】:2017-05-24 16:41:32
【问题描述】:
我在尝试在模板标签中使用 ngFor 和 ngIf 时遇到了一个奇怪的问题。我试图在 Analyst 对象中显示标签标题,如下所示:
分析对象:
class Analyst {
private _properties = {labels: [{title:'a'}]};
get labels() {
return this._properties.labels;
}
set labels(labels:Array<string>) {
this._properties.labels = labels;
}
}
组件模板:
<div *ngFor="let analyst of analysts; let i = index">
<h2>Analyst {{i}}</h2>
<template ngFor let-label [ngForOf]="analyst.labels"
[ngIf]="analyst.labels.length > 0">
<div>{{label.title}}</div>
</template>
</div>
我不断收到错误
无法读取未定义的属性“标题”
在以下情况下错误消失:
- 删除 [ngIf] 时
- 当使用 json 管道而不是标题属性 {{label| json}}。打印到屏幕的 json 字符串包含 title 属性。
plunker中完整代码的链接
谁能解释一下为什么会这样?
谢谢!
【问题讨论】:
标签: angular