如何调试emberjs计算属性

时间:2017-03-01 11:56:42

标签: ember.js

假设我有一个取决于其他属性的计算属性。如何找出依赖项属性触发器在我的属性上重新计算的更改。除此之外,有没有办法调试计算链?

3 个答案:

答案 0 :(得分:0)

检查该属性是否由notifyPropertyChange()方法触发。您可以使用notifyPropertyChange()方法触发计算属性。

答案 1 :(得分:0)

如果计算属性在组件中,则可以尝试挂钩didUpdateAttrs挂钩。当传递给组件的值更新时,didUpdateAttrs触发。在didUpdateAttrs中,您可以通过比较旧/新值来检查更改了哪些attrs。

  didUpdateAttrs: function(attrs) {
    // attrs should have access to the old/new values

  }

https://guides.emberjs.com/v2.6.0/components/the-component-lifecycle/

  

didUpdateAttrs在组件的属性发生更改时运行,   但是当通过component.rerender重新渲染组件时,   component.set,或模板使用的模型或服务的更改。

     

在重新渲染之前调用didUpdateAttrs,可以使用此钩子   更改特定属性时执行代码。这个钩子可以是一个   观察者的有效替代品,因为它将在a之前运行   重新渲染,但在属性发生变化后。

     

此方案的一个示例是配置文件编辑器组件。   当您正在编辑一个用户,并且用户属性已更改时,您   可以使用didUpdateAttrs来清除从中构建的任何错误状态   编辑上一个用户。

答案 2 :(得分:0)