你怎麼罵多個模型在一個單一的視圖BackboneJS:如何分配多個模型在一個單一的視圖
常見的情況是,你創建一個骨架模型
var myModel = Backbone.Model.extend({ url:"api/authentication"});
,然後將其分配給使其成爲某個視圖的默認模型
var LoginView = Backbone.View.extend({
model: new myModel(),
initialize: function(){
_.bindAll(this, 'render', 'render_thread_summary', 'on_submit', 'on_thread_created', 'on_error');
this.model.bind('reset', this.render);
this.model.bind('change', this.render);
this.model.bind('add', this.render_thread_summary);
},
...
});
但是我在調用不同模型的單個視圖中有很多方法。目前我只是在事件方法中創建一個模型的實例。
那我想會是這樣
initialize: function(){
_.bindAll(this, 'render', 'render_thread_summary', 'on_submit', 'on_thread_created', 'on_error');
new.model1().bind('reset', this.render);
new.model2().bind('change', this.render);
new.model3().bind('add', this.render_thread_summary);
},
但這些良好做法的其他解決方案?還有什麼其他的方式來做到這一點。謝謝。
UPDATE 針對彼得,這是我的實際代碼
var userRegModel = Backbone.Model.extend({url: fn_helper.restDomain()+'user/reg'});
var userResendActivationModel = Backbone.Model.extend({url: fn_helper.restDomain()+'user/token/activation/new'});
var userResetPassModel1 = Backbone.Model.extend({url: fn_helper.restDomain()+'user/pwdreset/token/new'});
var userResetPassModel2 = Backbone.Model.extend({url: fn_helper.restDomain()+'user/pwdreset/change'});
var userLoginModel = Backbone.Model.extend({url: fn_helper.restDomain()+'user/login'});
_view: Backbone.View.extend({
el: 'div#main-container',
initialize: function(){},
events: {
'click #user-signup': 'signupUserFn', //userRegModel
'click a#activation-resend': 'resendActivationFn',//userResendActivationModel
'click #reset-password-submit1': 'execResetPasswordFn', //userResetPassModel1
'click #reset-password-submit2': 'execResetPasswordFn', //userResetPassModel2
上述聲明的每個模型對應於事件
聲明不同的方法
謝謝,我更新了我的問題。 – Barry 2013-03-06 03:48:45