我查看了Backbone.js中的一些视图,但是我没有看到它被声明哪个模型绑定到视图?
例如,视图在哪里定义哪个模型是this.model
?
https://github.com/addyosmani/todomvc/blob/gh-pages/dependency-examples/backbone_require/js/views/todos.js
答案 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 );
},