Ember 2.10,更新数组pushObject上的组件

时间:2016-12-15 03:07:59

标签: ember.js

我有两个组件应该都反映相同的数据(在ember中测试d3)

其中一个组件将一个节点添加到我的状态,并列出这些节点。状态是一个数组,我相信我正在调用pushObject以通知所有有更新的内容。

另一个将是一个d3的东西,因此hbs文件没有呈现任何内容,我需要在修改数组时收到通知,这样我就可以调用相应的d3函数并重新渲染我的力图。

我在这里设置了一个小小的旋律:https://ember-twiddle.com/d4aae25e4a63636a97ed78b0b0081227

基本上,当你按下添加节点时:它会在列表中添加一个节点,所以我知道某个事件正在被触发但是,我的绘图功能在" twiglet-graph"组件未被调用。

要查看此操作,请转到小提琴并按"添加"。当您添加另一个节点时,它将正确列出顶部的两个节点,但它永远不会将底部组件中的长度更改为2.我设置了一个单击事件,它会提醒您该组件的长度。节点和添加后单击显示长度为2.如何挂钩更新,以便重绘我的力图?

感谢。

1 个答案:

答案 0 :(得分:0)

按照设计,在数组中添加或删除对象不会触发didUpdateAttrs挂钩。相反,您需要使用notifyPropetyChange方法。

有关详情,请参阅链接: http://discuss.emberjs.com/t/didupdateattrs-not-called-on-array-modifications/10046