0

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

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

4

1 回答 1

0

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

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

此处记录了此功能。

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

在 Todolist 示例中,模型在app.js 第 75 行中设置。

addOne: function( todo ) {
  var view = new TodoView({ model: todo });
  $('#todo-list').append( view.render().el );
},
于 2013-01-22T11:34:08.453 回答