我将应用程序移植到骨干网上,我不确定如何将我的模型与我的视图联系起来?
我想第一个问题是,它是基于实例的实例,还是我可以设置一次,以便每个模型实例(某种类型)都连接到每个视图实例(某个视图实例)类型)。
这是我的第一个猜测/尝试:
/***************************************************************************************************
*/
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);
答案 0 :(得分:0)
你有很多方法可以做到这一点。
最简单的方法是在实例化视图时,在模型实例上注入模型。正如你已经做的那样。 要么 您可以在视图中创建一个名为“model”的变量,并实例化一个新变量 模型。
回复你的问题,
如果使用相同的模型实例来实例化2个视图(任何类型)。您的两个视图的模型将是相同的。这意味着如果viewA和viewB正在侦听同一模型的事件,它们都会对同一事件做出反应。
示例:
var modelA = new ModelA();
var ViewA = new ViewA({model:modelA});
var ViewB = new ViewB({model:modelA});
如果您在modelA中更改某些内容,则两个视图都会起作用。
这使得你有两个视图可以监听同一模型的两个不同实例,这对我来说没有意义,但取决于你的规则。