我剛開始使用Ember並遇到以下問題。我想觀察我商店內某件商品的價值是否發生了變化。據我所知,這是@each指令的用途。不幸的是,這不會觸發我的組件中的相應方法。Ember.js:讓組件觀察商店物品的值變化
我的代碼結構如下。 當前路線返回我的商店的一個子集,並具有更改其中一個項目的操作。
export default Ember.Route.extend({
model: function() {
this.store.push('node', {id: 1, x: 40, y:40});
this.store.push('node', {id: 3, x: 50, y:50});
return this.store.findAll("node");
},
actions: {
move: function(x, y) {
this.store.findRecord('node', 1).then(
function(v) {
v.set("x", x); v.set("y", y);
});
}
}
});
我通過模板指令將模型傳遞給我的組件。
{{node-comp data=model}}
現在,我想要得到的組件中的通知,在模型的變化值(即在我的例子行動「搬家」被稱爲)。我目前的方法如下所示:
export default Ember.Component.extend({
rerender: function() {
console.log("rerender called");
}.observes("[email protected]")
};
我試過'data。[]'指令和'data。@ each.x'指令。但沒有導致期望的行爲。注意,通知組件的模板,即模型的項目列表在「移動」調用後得到更新。
我的 '餘燼-v' 輸出灰燼CLI的
未來版本將不支持V4.2.0。請更新至節點0.12或io.js. 版本:1.13.8找不到守望者,回退到NodeWatcher 以獲取文件系統事件。訪問 http://www.ember-cli.com/user-guide/#watchman瞭解更多信息。 node: 4.2.0 npm:2.13.4 os:linux x64
我的組件包含d3代碼。總體目標是在模型更改時更改我的d3可視化。我仍在研究是否燼是實現這一目標的正確框架。不幸的是,添加hasDirtyAttributs標誌沒有幫助。 – marcel
我在我的項目中獲得了d3。數據可以直接綁定 - {{條形圖 數據= graphData.data isLoaded = graphData.data noDataText =無數據 }} –
謝謝,但我看不出這可以幫助我,因爲我試圖組裝一個組件原子'd3元素'。因此,我無法恢復到預製組件。 – marcel