Backbone视图是否总是需要Backbone模型?

3

我正在学习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();

父视图实际上只是一个容器。它可能有一些控件,但没有需要持久化的数据。这样做是正确的方式吗?还是这是不好的做法?
谢谢(提前)您的帮助。
1个回答

5

Backbone.View文档所述:

Backbone视图几乎更多地是惯例而不是代码-它们不会为您确定有关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
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接