3
我在我的模型的屬性是一個數組(的浮子)和被串行化,並通過我的Rails後端也返回。然後我選擇該領域(本例中爲monthlyData
),並使用我編寫的基於D3的組件繪製它。觀察陣列屬性
{{bar-chart dataBinding="monthlyData" height=75 width =300}}
一切工作正常,除非數據更改。在我的組件的JS我有一個觀察組件的data
屬性,並重新呈現視圖的觀察員,但是這一觀察是不是如果我的模型更改解僱。不過,如果我直接設置monthlyData
字段,則會觸發。通過在我的控制器中執行this.get('model').set('data', [1,2,3,4,5])
。
我曾經嘗試都沒有指定屬性類型(即在我的模型指定monthlyData: DS.attr()
和使用自定義數組轉換(希望返回的Ember.Array將是觀察者友好):
App.ArrayTransform = DS.Transform.extend({
deserialize: function(serialized) {
return Ember.A(serialized);
},
serialize: function(deserialized) {
return deserialized.toArray();
}
});
我正在使用Ember 1.3 beta 1和Ember Data 1.0.0 beta 4.使用陣列作爲數據類型的最佳做法是什麼,以及如何使它們可觀察?
你爲什麼要重新渲染視圖?你確定模型已更新嗎? –
我想更新會更準確。我不重新渲染,只需更新圖表中條的高度即可反映新數據。該代碼工作正常 - 但問題是,觀察者功能永遠不會觸發(除非我特別'set'數組作爲上述 – chopper
如何模型更新的數據是否使用'保存()'也。? ,當模型保存,是您的軌道通過API應用程序參與? –