在哪里定义视图的模型

时间:2013-01-22 11:30:26

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

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

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

1 个答案:

答案 0 :(得分:0)

当您将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附加到视图以供将来参考。有几个特殊选项,如果通过,将直接附加到视图:模型,集合,el,id,className,tagName和属性。

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

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