知道依赖键中的哪个导致计算的属性更改
Posted
技术标签:
【中文标题】知道依赖键中的哪个导致计算的属性更改【英文标题】:Know which among the dependent keys caused the computed property change 【发布时间】:2017-02-18 20:27:06 【问题描述】:在 Ember 中,有没有办法获取依赖键中的哪个导致计算属性重新计算?
例如:
myProp: Ember.computed('dep1','dep2','dep3', function()
console.log('MyProp was recalculated due to a change in property :' <dep 1,2 or 3(get the value here)>);
return ...;
),
如果我需要提供任何其他详细信息,请告诉我。
【问题讨论】:
【参考方案1】:简短回答:不,那不可能。
长答案:您可以保存所有依赖项并在重新计算时进行比较。
【讨论】:
【参考方案2】:如果您在 component.js 中,您可以检查 didUpdateAttributes(options) 其中 options 包含更新属性的旧值和新值。
【讨论】:
关于 Omar 答案的注释:这不完全是您是否“在”组件中,而是这些属性更改是否会影响组件的生命周期。例如,如果您将组件插入到像blog-post title=title body=body
这样的 .hbs 模板中,您可以在 didUpdateAttributes
挂钩中观察到组件属性 title
和 body
的任何变化。但不是该组件严格内部的任何其他属性(计算的或非计算的)(不影响它的生命周期)。见guides.emberjs.com/v2.9.0/components/the-component-lifecycle以上是关于知道依赖键中的哪个导致计算的属性更改的主要内容,如果未能解决你的问题,请参考以下文章