扩展模型而不持久保存到数据存储区

时间:2017-01-21 13:53:34

标签: ember.js ember-data

下面显示了一个应用程序中的Ember文件,该文件列出了Mirage数据存储中的员工姓名。

我需要做的是在数据存储区之外的模型中添加属性“present”。我们的想法是,员工将点击列表中的名称来切换是否存在。

我不知道应用此功能的方式或位置。

欢迎任何建议。

Mirage Scenario

export default function(server) {
  server.create('employee', {
    firstname: "John",
    lastname: "Doe"
  });
  server.create('employee', {
    firstname: "Joe",
    lastname: "Bloggs"
  });
}

路线

export default Ember.Route.extend({
  model() {
    return this.store.findAll('employee');
  }
});

模型

export default DS.Model.extend({
  firstname: DS.attr('string'),
  lastname: DS.attr('string')
});

模板

<ul>
  {{#each model as |employee|}}
      <li>{{employee.firstname}} {{employee.lastname}}</li>
  {{/each}}
</ul>

1 个答案:

答案 0 :(得分:0)

你需要使用ember computed。

//model.js

export default DS.Model.extend({
  firstname: DS.attr('string'),
  lastname: DS.attr('string'),

  present: Ember.computed('firstname', 'lastname', function(){
    return Ember.isPresent(this.get('firstname')) && Ember.isPresent(this.get('lastname'));
  })
});