首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在主干视图中调用模型的正确方法(不使用RequireJS)

在主干视图中调用模型的正确方法(不使用RequireJS)
EN

Stack Overflow用户
提问于 2014-02-03 18:02:13
回答 2查看 29关注 0票数 1

目标

使用AuthenticationView +链轮调用AuthenticationView中的Call。

问题所在

我只是不知道有什么好办法。

情景

这是我的观点(assets/js/views/AuthenticationView.js):

代码语言:javascript
代码运行次数:0
运行
复制
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):

代码语言:javascript
代码运行次数:0
运行
复制
var UserModel = Backbone.Model.extend({
    url: '/sessions'
});

问题是

如何在视图和模型之间进行交互?

记住:他们在分开的文件里。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-03 18:08:25

将构造函数组合在一起将是步骤1 --单独的文件并不重要,您可以使用Browserify/requirejs或将这些东西抛到全局范围内。从那里开始,由于将一个对象传递到一个具有属性名称“model”的视图构造函数中,因此会自动将该值分配给视图的this.model。因此,如果我们的视图中有一个initialize方法,我们可以看到:

代码语言:javascript
代码运行次数:0
运行
复制
initialize: function (options) {
  console.log(this.model); // User instance
  this.model.on('update', function () {});
}

因此,我们可以通过对象的model属性将实例化模型传递到视图中:

代码语言:javascript
代码运行次数:0
运行
复制
var model = new UserModel(); 
var view = new AuthenticationView({ model: model });
票数 1
EN

Stack Overflow用户

发布于 2014-02-03 18:17:39

这里是关于js模块延迟加载的很好的文章,其中包含使用backbonejs和http://www.joezimjs.com/javascript/lazy-loading-javascript-with-requirejs/的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21534336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档