【发布时间】:2012-03-29 23:45:52
【问题描述】:
更新:事实证明,我有一个剩余的 this.model = new MasterModel();在我的子视图中初始化()函数。
我正在尝试将我的大视图与较小的视图分开,因此我创建了一个“主”布局视图,该视图将一些子视图附加到自身并将其模型传递给它们。
但是,当我的子视图更新模型时,这些更改似乎不会反映在“主”视图的模型上。
这是我想要做的:
var master = new MasterModel();
var masterView = new MasterView({model:master});
在 masterView 的 initialize() 函数中我这样做:
function: initialize() {
this.subView = new subView({model:this.model});
}
而在 subView 中改变模型的代码是这样的:
function: setCurrency() {
this.model.set({ currency: this.$('.currency').val() });
}
也许我在这里做错了什么?
【问题讨论】:
-
到目前为止,我没有发现您的代码有任何问题。您确定模型没有更新吗?或者可能是更新没有反映在视图中的问题?
-
模型有你可以在“改变”时绑定的事件,以更新视图。我可以看看模型的事件绑定以及它更新时的作用吗?
-
@JayC:是的,我很肯定。我在主视图中有一个按钮,它的点击事件附加了一个警报(JSON.stringify(this.model.toJSON()))。当我单击按钮时,JSON 哈希不包含我在子视图中所做的更改。
-
请显示实际用于修改模型的代码。
-
@JayC:我已根据您的要求更新了问题
标签: reference model backbone.js subview