我有简单的HTML页面,我希望在其中显示具有相同数据的多个视图。为此,我创建了一个带有数据的Backbone模型和两个要渲染的视图。我的所有模型和视图都在单独的文件中分开。我想在所有视图中使用我的模型对象。因此,对于我的2个视图,我不必为服务器进行多次ajax调用。
这是我的代码
Model.js
var ModelData = Backbone.Model.extend({
defaults:{
Name: "ABC",
Marks: 100
}
});
var modelData= new ModelData();
View1.js
var View1 = Backbone.View.extend({
initialize: function(){
this.model = (HOW TO REFER MY MODEL Object ?)
}
});
View2.js
var View2 = Backbone.View.extend({
initialize: function(){
this.model = (HOW TO REFER MY MODEL Object?)
}
});
答案 0 :(得分:1)
来自fine manual:
构造函数/初始化
new View([options])
有几个特殊选项,如果通过,将直接附加到视图:
model
,collection
,el
,id
,className
,tagName
,attributes
和events
。
因此,在实例化视图时应附加模型:
var v1 = new View1({ model: modelData });
var v2 = new View2({ model: modelData });
您应该有一个路由器或其他对象来处理实例化您的视图。无论这个是什么,都应该跟踪modelData
模型实例,然后在实例化时将它传递给视图。