Ember ember-views.render-double-modify

时间:2015-09-29 18:57:44

标签: ember.js

使用Ember.2.1.0-beta4

我在由子组件的“didReceiveAttrs”触发的函数中得到“ember-views.render-double-modify”。

我找到了触发错误的语句this.set('_columns', columns)。但是,AFAIK这是第一次修改属性。

为了调试它,我为修改后的属性创建了一个观察者,并在那里放置一个断点。但是,观察者只被调用一次并且错误仍然存​​在,所以看起来这是第一次调用。

我应该如何调试它 - 这是一个Ember错误,还是在设置错误中不清楚的属性时还有其他限制?请注意,该属性用于组件的模板中。该属性也用于其他计算属性(例如_columns.@each.width_columns.[])。

1 个答案:

答案 0 :(得分:6)

为了后人,我的答案是:_columns用于模板。因此,对于要调用的子组件的didReceiveAttrs,已使用先前的_columns值。

错误信息有点误导,但我认为,一旦你开始渲染,你就无法改变属性直到完成。如有必要,请使用Ember.run.scheduleOnce('afterRender', ...)