【问题标题】:Where to define the model for the view在哪里定义视图的模型
【发布时间】:2013-01-22 11:30:25
【问题描述】:
【问题讨论】:
标签:
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 );
},