【问题标题】:Where to define the model for the view在哪里定义视图的模型
【发布时间】:2013-01-22 11:30:25
【问题描述】:

我查看了 Backbone.js 中的一些视图,但我没有看到它在什么时候声明了哪个模型绑定到视图?

例如这里的视图定义哪个模型是this.modelhttps://github.com/addyosmani/todomvc/blob/gh-pages/dependency-examples/backbone_require/js/views/todos.js

【问题讨论】:

    标签: javascript model-view-controller backbone.js


    【解决方案1】:

    当您将 options 参数中的 model 属性传递给 View 的构造函数时,Backbone 会自动将其设置为 view.model

    var someModel = new Model();
    var view = new View({model:someModel});
    console.log(view.model === someModel); // -> true
    

    这个功能是documented here

    创建新视图时,您传递的选项(在合并到视图上已存在的任何默认选项后)将作为 this.options 附加到视图以供将来参考。有几个特殊选项,如果通过,将直接附加到视图:model、collection、el、id、className、tagName 和 attributes。

    在 Todolist 示例中,模型设置在 app.js, line 75

    addOne: function( todo ) {
      var view = new TodoView({ model: todo });
      $('#todo-list').append( view.render().el );
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 2012-09-17
      相关资源
      最近更新 更多