目标
使用AuthenticationView
+链轮调用AuthenticationView
中的Call。
问题所在
我只是不知道有什么好办法。
情景
这是我的观点(assets/js/views/AuthenticationView.js
):
var AuthenticationView = Backbone.View.extend({
el: $('.authentication-form'),
events: {
'keyup input[name=email]' : 'validationScope',
'keyup input[name=password]' : 'validationScope',
'submit form[data-remote=true]' : 'authenticate'
},
render: function() {
},
authenticate: function() {
// Here I'm going interact with the model.
}
});
这就是我的模型(assets/js/models/UserModel.js
):
var UserModel = Backbone.Model.extend({
url: '/sessions'
});
问题是
如何在视图和模型之间进行交互?
记住:他们在分开的文件里。
发布于 2014-02-03 18:08:25
将构造函数组合在一起将是步骤1 --单独的文件并不重要,您可以使用Browserify/requirejs或将这些东西抛到全局范围内。从那里开始,由于将一个对象传递到一个具有属性名称“model”的视图构造函数中,因此会自动将该值分配给视图的this.model
。因此,如果我们的视图中有一个initialize
方法,我们可以看到:
initialize: function (options) {
console.log(this.model); // User instance
this.model.on('update', function () {});
}
因此,我们可以通过对象的model
属性将实例化模型传递到视图中:
var model = new UserModel();
var view = new AuthenticationView({ model: model });
发布于 2014-02-03 18:17:39
这里是关于js模块延迟加载的很好的文章,其中包含使用backbonejs和http://www.joezimjs.com/javascript/lazy-loading-javascript-with-requirejs/的示例。
https://stackoverflow.com/questions/21534336
复制相似问题