我正在我的Ember项目中实施crud操作。我将一个对象传递给组件,并尝试使用相同的对象进行保存,更新操作。
在路线中我创建了如下模型,
routes.js
model() {
return Ember.RSVP.hash({
employeeList : this.store.findAll("employee"),
employee : Ember.Object.create(),
});
}
组件:employee-form.js
<form class="form-horizontal" role="form">
<div class="form-group">
<label class="control-label col-sm-3" for="fname">First Name:</label>
<div class="col-sm-8">
{{input type="text" value=model.firstName placeholder="First Name"}}
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="lname">Last Name:</label>
<div class="col-sm-8">
{{input type="text" value=model.lastName placeholder="Last Name" }}
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="email">Email:</label>
<div class="col-sm-8">
{{input type="text" value=model.email placeholder="Email" }}
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="department">Department: </label>
<div class="col-sm-8">
{{input type="text" value=model.department placeholder="Department" }}
</div>
</div>
</form>
我将对象传递给组件如下, 的 Template.hbs
{{employee-form model=model.employee}}
我需要清除对象中的属性数据,以便将其用于不同的操作。我试图用一个新的ember对象替换模型对象并且它有效。但我不认为这是一个很好的方法,因为它总是创造新的对象。
this.set("model", Ember.Object.create());
任何人都可以帮助我找到清除ember对象属性值的最佳方法。
答案 0 :(得分:2)
使用rollbackAttributes()
RollbackAttributes - 如果模型hasDirtyAttributes,此函数将丢弃任何未保存的更改。如果模型是新的,它将从商店中删除。
model.rollbackAttributes();