Ember:清除余烬对象属性值

时间:2016-03-23 11:45:17

标签: ember.js ember-data

我正在我的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对象属性值的最佳方法。

1 个答案:

答案 0 :(得分:2)

使用rollbackAttributes()

  

RollbackAttributes -   如果模型hasDirtyAttributes,此函数将丢弃任何未保存的更改。如果模型是新的,它将从商店中删除。

model.rollbackAttributes();