gpt4 book ai didi

Angular :未检测到管道变化

转载 作者:太空狗 更新时间:2023-10-29 17:17:30 24 4
gpt4 key购买 nike

我有这个管道,它将 input 值乘以从服务中检索到的其他值:

@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

这工作正常,但是当来自服务的 multiply 值发生变化时,它不会触发任何变化检测,因此

 {{ value | multiply }}

不再运行,在屏幕上留下旧值。有什么建议可以解决这个问题吗?

最佳答案

Angular documentation 中所述, 如 this stackblitz 所示,强制调用管道的一种方法是使其不纯:

@Pipe({
name: 'multiply',
pure: false
})

关于纯管道和不纯管道的更多细节,你可以看this article .

关于 Angular :未检测到管道变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48303252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com