角度:未检测到管道中的更改
发布时间:2020-12-17 06:52:12 所属栏目:安全 来源:网络整理
导读:我有这个管道,它将输入值乘以从服务检索到的其他值: @Pipe({ name: 'multiply'})export class MultiplyPipe implements PipeTransform { constructor(private service: StateService) { } transform(value: any,args?: any): any { return value * this.ser
我有这个管道,它将输入值乘以从服务检索到的其他值:
@Pipe({ name: 'multiply' }) export class MultiplyPipe implements PipeTransform { constructor(private service: StateService) { } transform(value: any,args?: any): any { return value * this.service.multiplier; } } 用法: {{ value | multiply }} DEMO 这样可以正常工作,但是当服务的乘法值发生变化时,它不会触发任何变化检测,因此 {{ value | multiply }} 不再运行,将旧值保留在屏幕上.有什么建议可以修复吗? 解决方法
正如
Angular documentation中所讨论的,如
this stackblitz所示,强制管道被调用的一种方法是使其不纯:
@Pipe({ name: 'multiply',pure: false }) 有关纯管道和不纯管道的更多详细信息,请参见this article. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容