我创建了一个能够*ngFor
与对象一起使用的管道。但是,当对象更新时,管道不会更新。我在这里找到了一个解决方案,方法是使用带有pure: false
.
这个解决方案在我的用例的性能方面是不可接受的,因为它会为每次更改刷新管道(我几乎在任何地方都使用这个管道来渲染复杂的元素)。
有没有办法触发管道的手动刷新,所以它只在我想要的时候刷新?
这是一个plunker - 要查看问题,请尝试通过单击-
按钮来删除名称。如果添加pure:false
,您将看到它将起作用:
@Pipe({name: 'keys', pure: false})
export class Keys implements PipeTransform {
transform(value, args:string[]) : any {
let keys = [];
for (let key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}
}
我想要的是在我的delName()
函数中添加一些东西,以便它更新管道......