从子视图向父视图添加模型
Adding a model to a parent view from a child view
我正在尝试从子视图向父视图添加新模型。
在我的父视图中,我这样渲染子视图:
renderEngineOptions: function () {
var view = new EngineOptionsView({ model: this.model });
this.$('.engineOptions').append(view.render().el);
},
在我的子视图(engineOptionsView)中,我在初始化方法中将父视图定义为 'this.engine':
initialize: function (args) {
this.engine = args.model;
}
然后我有一个 html 按钮,单击该按钮会触发此事件:
addTurbo: function() {
this.$('.turboOption').show();
this.engine.turbo = new Turbo();
}
Turbo 是我尝试添加到引擎中的新模型。但是没有任何反应。我在控制台中没有收到任何错误,但是当我在控制台中写出引擎模型时,没有添加涡轮。
如何将涡轮模型从子项添加到父项?
谢谢!
当您使用 model
选项传递模型时,视图会自动将其应用到自身,因此可以直接通过 this.model
使用。
var view = new EngineOptionsView({ model: this.model });
在child:
initialize: function (args) {
this.engine = args.model; // not necessary
console.log(this.model === this.engine); // same thing
}
您正在添加 turbo
作为模型的 属性
this.engine.turbo = new Turbo();
因此,如果您想从 parent 中获取 turbo
:
this.model.turbo;
如果要从 child 视图添加 turbo
作为模型的属性:
this.model.set('turbo', new Turbo());
并从 parent 获取它:
this.model.get('turbo);
没有更多细节,很难猜出问题出在哪里。
我正在尝试从子视图向父视图添加新模型。
在我的父视图中,我这样渲染子视图:
renderEngineOptions: function () {
var view = new EngineOptionsView({ model: this.model });
this.$('.engineOptions').append(view.render().el);
},
在我的子视图(engineOptionsView)中,我在初始化方法中将父视图定义为 'this.engine':
initialize: function (args) {
this.engine = args.model;
}
然后我有一个 html 按钮,单击该按钮会触发此事件:
addTurbo: function() {
this.$('.turboOption').show();
this.engine.turbo = new Turbo();
}
Turbo 是我尝试添加到引擎中的新模型。但是没有任何反应。我在控制台中没有收到任何错误,但是当我在控制台中写出引擎模型时,没有添加涡轮。
如何将涡轮模型从子项添加到父项?
谢谢!
当您使用 model
选项传递模型时,视图会自动将其应用到自身,因此可以直接通过 this.model
使用。
var view = new EngineOptionsView({ model: this.model });
在child:
initialize: function (args) {
this.engine = args.model; // not necessary
console.log(this.model === this.engine); // same thing
}
您正在添加 turbo
作为模型的 属性
this.engine.turbo = new Turbo();
因此,如果您想从 parent 中获取 turbo
:
this.model.turbo;
如果要从 child 视图添加 turbo
作为模型的属性:
this.model.set('turbo', new Turbo());
并从 parent 获取它:
this.model.get('turbo);
没有更多细节,很难猜出问题出在哪里。