繁体   English   中英

管道角度变化检测

[英]Angular change detection with pipe

我对变更检测和管道有问题。 我找不到解决它的好方法。

我创建了一个小项目来在这里复制它。 转到/ monitor路线。

当您单击“更改”按钮时,它将更改数组中第一项的值,但不会更新UI。

如果我在变更处理程序中重新创建另一个对象,它将起作用

this.state[0] = Object.assign({}, this.state[0], { value: 999.99 });

但是我不想那样做。 我需要保留相同的对象引用。

问题来自vital-value.component.html中的管道

{{ _vitalValue | vitalFormat }}

如果我改用它就可以了

{{ _vitalValue.value }}

有没有办法保留管道但要进行刷新?

谢谢!

尽管不建议这样做,但请尝试使管道不纯。

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

但请注意对您应用程序性能的影响。 确实不建议使用impure管道。

在这里阅读:

Angular在每个组件更改检测周期内执行不纯管道。 每次击键或移动鼠标时,都会经常调用不纯管道。

考虑到这一点,应格外小心地安装不纯净的管道。 昂贵的,长时间运行的管道可能会破坏用户体验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM