如果我使用Backbone,哪些(或兩者)是設置數據的「正確」方式?Backbone.js模型與視圖SET
// Logic in the Model
// Can call from anywhere that has access
SomeModel = Backbone.Model.extend({
defaults: {
visible: false
},
toggle: function(visible){
visible = typeof visible !== "undefined" ? visible : !this.get("visible");
this.set({visible: visible});
}
});
OR
// Logic in the View
SomeView = Backbone.View.extend({
events: {
"click .toggle" : "toggleVisibility"
},
toggleVisibility: function(){
this.model.set({visible: !this.model.get("visible")});
}
});
顯然,這些工作中的任意一個,但我的問題是怎麼說的邏輯多少,應該被推離該模型?如果,例如,我有一個更新的兩個變量的情況:
this.model.set({visible: false, foo: bar, something: else});
會是有意義的在這樣的模式中創建一個函數:
someFunction: function(visible, foo, something){
this.set({visible: visible, foo: foo, something: something});
}
這似乎只是矯枉過正對我來說,但視圖中的集合({})邏輯感覺很髒。
的思考?