Ember.js 控制器操作中的访问模型?
我正在编辑一个带有表单的对象,并希望从绑定到“提交”按钮的控制器操作中保存更改的对象。我不想将值直接绑定到模板 这是Ember.js 控制器操作中的访问模型?,ember.js,handlebars.js,ember-cli,controller-actions,Ember.js,Handlebars.js,Ember Cli,Controller Actions,我正在编辑一个带有表单的对象,并希望从绑定到“提交”按钮的控制器操作中保存更改的对象。我不想将值直接绑定到模板 这是admin/edit.hbs <form> <label>Title <input name="title" type="text" {{ bind-attr value=title }} /> </label> <label>Permalink <input name
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>
假设您想要的模型当前是
ObjectController
的模型,您可以执行以下两项操作之一:
submitAction: function() {
var model = this.get('model');
}
// admin/edit.hbs
<button {{action 'submitAction' model}}>Submit</button>
// admin/edit.js
submitAction: function(model) {
}
//admin/edit.hbs
提交
//admin/edit.js
提交:功能(型号){
}
在
ObjectController
中,模型存储为…model
。您可以这样访问它:
var model = this.get('model');
model.set('title', newTitle);
如果您没有使用自动绑定对象的get
和set
调用的ObjectController
功能,您可能不应该使用ObjectController
。列出的代码将直接从输入字段设置模型的标题
var model = this.get('model');
model.set('title', newTitle);