控制器动作中的访问模型?
Access model in controller-action?
我正在编辑一个带有表单的对象,并希望从绑定到提交按钮的控制器操作中保存更改的对象。我不想将值直接绑定到模板。
这是admin/edit.hbs
<form>
<label>Title
<input name="title" type="text" {{ bind-attr value=title }} />
</label>
<label>Permalink
<input name="permalink" type="text" {{ bind-attr value=permalink }} />
</label>
<label>Post
{{textarea value=body cols="80" rows="12"}}
</label>
<button {{ action 'submitAction' }}>Submit</button>
</form>
这是控制器admin/edit.hbs
从 'ember' 导入 Ember;
export default Ember.ObjectController.extend({
actions: {
submitAction: function() {
var newTitle = this.get('title');
// how to access the model here?
}
}
});
假设您想要的模型当前是您ObjectController
的模型,您可以做以下两件事之一:
直接获取模型:
submitAction: function() {
var model = this.get('model');
}
将其传递给模板中的处理程序:
// admin/edit.hbs
<button {{action 'submitAction' model}}>Submit</button>
// admin/edit.js
submitAction: function(model) {
}
在 ObjectController
中,模型存储为... model
。您可以这样访问它:
var model = this.get('model');
model.set('title', newTitle);
如果您不使用 ObjectController
自动绑定 get
和 set
调用对象的功能,您可能不应该使用 ObjectController
。您列出的代码将直接从输入字段设置模型的 title
。
我正在编辑一个带有表单的对象,并希望从绑定到提交按钮的控制器操作中保存更改的对象。我不想将值直接绑定到模板。
这是admin/edit.hbs
<form>
<label>Title
<input name="title" type="text" {{ bind-attr value=title }} />
</label>
<label>Permalink
<input name="permalink" type="text" {{ bind-attr value=permalink }} />
</label>
<label>Post
{{textarea value=body cols="80" rows="12"}}
</label>
<button {{ action 'submitAction' }}>Submit</button>
</form>
这是控制器admin/edit.hbs
从 'ember' 导入 Ember;
export default Ember.ObjectController.extend({
actions: {
submitAction: function() {
var newTitle = this.get('title');
// how to access the model here?
}
}
});
假设您想要的模型当前是您ObjectController
的模型,您可以做以下两件事之一:
直接获取模型:
submitAction: function() { var model = this.get('model'); }
将其传递给模板中的处理程序:
// admin/edit.hbs <button {{action 'submitAction' model}}>Submit</button> // admin/edit.js submitAction: function(model) { }
在 ObjectController
中,模型存储为... model
。您可以这样访问它:
var model = this.get('model');
model.set('title', newTitle);
如果您不使用 ObjectController
自动绑定 get
和 set
调用对象的功能,您可能不应该使用 ObjectController
。您列出的代码将直接从输入字段设置模型的 title
。