【问题标题】: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 ...;
}),

如果我需要提供任何其他详细信息,请告诉我。

【问题讨论】:

    标签: node.js ember.js computed-properties


    【解决方案1】:

    简短回答:不,那不可能。

    长答案:您可以保存所有依赖项并在重新计算时进行比较。

    【讨论】:

      【解决方案2】:

      如果您在 component.js 中,您可以检查 didUpdateAttributes(options) 其中 options 包含更新属性的旧值和新值。

      【讨论】:

      • 关于 Omar 答案的注释:这不完全是您是否“在”组件中,而是这些属性更改是否会影响组件的生命周期。例如,如果您将组件插入到像 {{blog-post title=title body=body}} 这样的 .hbs 模板中,您可以在 didUpdateAttributes 挂钩中观察到组件属性 titlebody 的任何变化。但不是该组件严格内部的任何其他属性(计算的或非计算的)(不影响它的生命周期)。见guides.emberjs.com/v2.9.0/components/the-component-lifecycle
      猜你喜欢
      • 2020-05-21
      • 2020-05-17
      • 1970-01-01
      • 2016-08-28
      • 2017-06-01
      • 2010-10-18
      • 1970-01-01
      • 2014-08-04
      相关资源
      最近更新 更多