我正在学习Backbone。
我想知道Backbone View是否总是需要Backbone Model。
例如,假设我有一个包含两个子面板的面板。我构建它的方式是使用主面板的父视图,然后是子面板的两个子视图......
var OuterPanel = Backbone.View.extend({
initialize: function() {
this.innerPanelA = new InnerPanelA(innerPanelAModel);
this.innerPanelB = new InnerPanelB(innerPanelBModel);
},
});
var outerPanel = new OuterPanel();
父视图实际上只是一个容器。它可能有一些控件,但没有需要持久化的数据。这是正确的方法吗?或者这是不好的做法?
Thnx(提前)寻求帮助
答案 0 :(得分:5)
骨干视图几乎比它们的代码更常见 - 它们 不要为您确定有关HTML或CSS的任何信息,也可以 与任何JavaScript模板库一起使用。
换句话说,如果您没有模型,请不要使用模型。另一方面,我会将子模型作为外部视图实例的选项注入,而不是依赖于全局变量,如下所示:
var OuterPanel = Backbone.View.extend({
initialize: function(options) {
this.innerPanelA = new InnerPanelA({model: options.modelA});
this.innerPanelB = new InnerPanelB({model: options.modelB});
}
});
var outerPanel = new OuterPanel({
modelA: innerPanelAModel,
modelB: innerPanelBModel
});