如何将我的模型连接/关联到我的视图?

时间:2014-06-16 20:28:17

标签: javascript backbone.js view model

我将应用程序移植到骨干网上,我不确定如何将我的模型与我的视图联系起来?

我想第一个问题是,它是基于实例的实例,还是我可以设置一次,以便每个模型实例(某种类型)都连接到每个视图实例(某个视图实例)类型)。

这是我的第一个猜测/尝试:

/***************************************************************************************************
*/

    var ModelMediaPane = Backbone.Model.extend({
        defaults: {
            visible:          false,
            previous:         null,
            current:          'about'
        }
    });
    var model_media_pane = new ModelMediaPane();
    $A.log(model_media_pane.get('visible'));

    var ViewMediaPane = Backbone.View.extend({
        id: "mi_holder",
        events: {
        }
    });

    var view_media_pane = new ViewMediaPane({model:ModelMediaPane});
    $A.log(view_media_pane.el);

1 个答案:

答案 0 :(得分:0)

你有很多方法可以做到这一点。

最简单的方法是在实例化视图时,在模型实例上注入模型。正如你已经做的那样。 要么 您可以在视图中创建一个名为“model”的变量,并实例化一个新变量 模型。

回复你的问题,

如果使用相同的模型实例来实例化2个视图(任何类型)。您的两个视图的模型将是相同的。这意味着如果viewA和viewB正在侦听同一模型的事件,它们都会对同一事件做出反应。

示例:

var modelA = new ModelA();
var ViewA = new ViewA({model:modelA});
var ViewB = new ViewB({model:modelA});

如果您在modelA中更改某些内容,则两个视图都会起作用。

这使得你有两个视图可以监听同一模型的两个不同实例,这对我来说没有意义,但取决于你的规则。