【发布时间】:2016-12-20 20:23:37
【问题描述】:
我在 *ngfor 循环中使用密钥管道。数据以 JSON 格式提供。
@Pipe({
name: 'keys'
})
export class KeysPipe implements PipeTransform {
transform(value, args: string[]): any {
if (!value) {
return value;
}
let keys = [];
for (let key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}
}
--
<div *ngFor="let item of jsonObject | keys">
<p>{{ item.value.code }}</p>
</div>
问题是当我删除 JSON 中的元素时,ngFor 没有更新。
我已经尝试了两个选项:
- 元素删除后调用this.applicationRef.tick();,没有变化
- 不纯管道“纯:假”。这导致 chrome 使用了数百 MB 的大量内存,我不得不终止该进程。
还有其他方法吗?
谢谢!
【问题讨论】:
-
尝试将
ChangeDetectionStrategy设置为OnPush。
标签: angular