0
這裏新增了一些內容,我想如果你將視圖和模型之間的數據綁定在一起,那麼如果改變的話雙方都會同步。當視圖改變時,Ember.js更新模型?
目前,我有餘燼我的模型設定,它返回的顏色數組:
App.ApplicationRoute = Ember.Route.extend({
model: function() {
return EmberFire.Array.create({
ref: new Firebase("https://ember-starter.firebaseio.com/shape")
});
},
setupController: function(controller, model) {
controller.set('model', model);
}
});
我的模板設置爲這樣:
<button {{action "add"}}>Draw</button>
{{#each controller}}
{{#view App.ShapeView contentBinding="content"}}
<div>{{color}}</div>
{{/view}}
{{/each}}
我有一個按鈕來添加新顏色的array:
App.ApplicationController = Ember.ArrayController.extend ({
actions: {
add: function() {
var newColor = {
color: "#222222"
};
this.pushObject(newColor);
}
}
});
在視圖中,我設置了一個點擊操作來設置顏色屬性:
App.ShapeView = Ember.View.extend({
click: function() {
var self = this;
var changeColor = self.set('context.color', '#121212');
}
});
使用當前設置,我可以獲取/顯示顏色列表,並在點擊後將顏色更改爲#121212。然而,數據不會持續到模型(firebase)。我想知道如果我做錯了什麼,或者有更好的方法來保存/同步視圖和模型之間的變化。
在此先感謝!
謝謝您的回答。是的,我確實有一個錯字:(但是我的問題是在視圖的click函數中,並將它與模型綁定在一起。我可以將新對象推送到模型中(修復錯字之後),但對視圖的更改不會推送到模型。 – Poyi