我正在使用带有 Ember Data 的 Ember App Kit 创建一个应用程序。我有一个同时具有创建和编辑表单的项目资源。出于各种设计原因,我不想在用户点击保存按钮之前更新或创建模型。我不确定在 Ember 中执行此操作的最佳设计模式,因为默认设置是将表单字段绑定到模型,该模型在输入数据时对其进行更新。
您需要在控制器上创建一个临时属性。
App.FooController = Em.ObjectController.extend({
userName: '',
createData: function() {
this.get('store').createRecord({
name: this.get('userName')
}).save();
this.set('userName', '');
},
saveData: function() {
this.set('model.name', this.get('userName'));
this.set('userName', '');
}
});
绑定到文本字段(或其他任何字段)的 userName
属性,然后在用户单击保存按钮时传输值。
或者
,您可以创建一个Ember.Object
,将模型属性复制到该,然后将表单绑定到该对象。然后在保存时将属性复制回模型。您可能可以通过这种方式保存一些代码。