我的编辑表格中包含了我的所有信息,当我点击保存按钮时,即使没有任何变化,也可以保存所有字段。
我想在对象中只返回我在表单中修改的索引及其值。 我非常不清楚如何用Ember做到这一点。
这是我的代码:
App.EnquiryUpdateController = Ember.ObjectController.extend({
id: null,
isSaved: false,
actions: {
save: function() {
var enquiry = this.get('model');
console.log(enquiry);
var obj = JSON.parse(JSON.stringify(enquiry));
obj = this.cleanObject(obj);
$.ajax({
url: host + 'mdf/enquiry/' + enquiry.id,
type: 'POST',
accepts: 'application/json',
data: obj
});
this.transitionToRoute('enquiry', enquiry)
}
},
});
我的路线:
App.EnquiryUpdateRoute = Ember.Route.extend({
model: function() {
return this.modelFor('enquiry');
}
});
我的模板:
<script type="text/x-handlebars" data-template-name="enquiry/update">
<div class="enquiry-update">
{{#if isSaved}}
<div class="saved">Enquiry updated successfully</div>
{{/if}}
<div>
<label>Customer Name</label>
{{input value=customerName}}
</div>
<div>
<label>Customer Email</label>
{{input value=customerEmail}}
</div>
<div>
<label>Customer Phone</label>
{{input value=customerPhone}}
</div>
<div>
<button {{action "save"}}>Save</button>
</div>
</div>
</script>
如果我更新customerName,我只想将它放在我的对象{customerName:“toto”}而不是所有这些..
谢谢!
答案 0 :(得分:0)
嗯,您要实现的概念将是脏属性检查。这意味着您需要保留原始数据的副本,然后将属性标记为脏,或者比较属性并仅发送不同的属性。