バックボーンを使用している場合、データを設定する「正しい」方法はどちら (または両方) ですか?
// 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});
}
});
また
// Logic in the View
SomeView = Backbone.View.extend({
events: {
"click .toggle" : "toggleVisibility"
},
toggleVisibility: function(){
this.model.set({visible: !this.model.get("visible")});
}
});
明らかにこれらのいずれかが機能しますが、私の質問は、そのロジックのどの程度をモデルにプッシュする必要があるかということです。たとえば、2 つの変数を更新する状況があるとします。
this.model.set({visible: false, foo: bar, something: else});
次のようにモデルに関数を作成することは理にかなっていますか?
someFunction: function(visible, foo, something){
this.set({visible: visible, foo: foo, something: something});
}
私にはやり過ぎのように思えますが、ビューの set({}) ロジックは汚れているように感じます。
考え?