更新:事实证明,我有一个剩余的this.model = new MasterModel();在我的subViews的initialize()函数中。Backbone.js:通过引用将模型传递给子视图
我想将我的巨大视图分隔成更小的视图,因此我创建了一个“主”布局视图,它将自己附加到一些子视图并将其传递给它们。
但是,似乎当我的子视图更新模型时,这些更改不会反映在“主”视图模型上。
这里就是我想要做的事:
var master = new MasterModel();
var masterView = new MasterView({model:master});
里面的马西德威的初始化()函数,我这样做:
function: initialize() {
this.subView = new subView({model:this.model});
}
以及改变在子视图模型的代码是这样的:
function: setCurrency() {
this.model.set({ currency: this.$('.currency').val() });
}
也许我在这里做的事情完全错误?
我没有看到任何你的代码错误至今。你确定该模型没有得到更新吗?或者可能是更新没有反映在视图中的问题? – JayC 2012-03-13 14:55:58
模型有事件,您可以绑定到像“更改”,以更新视图。我可以看看模型的事件绑定以及更新时的功能吗? – websymphony 2012-03-13 15:03:51
@JayC:是的,我很积极。我在主视图中有一个按钮,它有一个附加到它的click事件的警报(JSON.stringify(this.model.toJSON()))。当我点击按钮时,JSON哈希不包含我在子视图中所做的更改。 – ragulka 2012-03-13 16:14:50