繁体   English   中英

强制在Ember Cli中获取RSVP哈希中的所有数据

[英]Force to get all data in RSVP hash in Ember Cli

Ember Cli不像Ember通常应该做的那样使用关系数据(relateTo和hasMany)。 为了使其工作,我使用RSVP哈希并手动在控制器中设置模型。

export default Ember.Route.extend({

  model: function(params) {
    return Em.RSVP.hash({
      traits: this.store.find('trait'),
      person: this.store.find('person', params.person_id)
    });
  },

  setupController: function(controller, model) {
    controller.set('model', model.person);
  }
});

这使得具有给定ID和他的特征的人。 在这种情况下,由于人员只分配了两个特征,因此只返回那两个数据对象。

让我们说在这条路线上,我想让用户能够改变这个人的特征。 所以,我想用复选框显示所有特征。 如何在上面的路线中强制要求获得所有特征,而不仅仅是两个?

我尝试了store.all(),但只过滤了本地数据。 由于还没有数据,它返回0个对象。

Ember-cli只是帮助您设置项目结构并构建它。 它没有任何不同的Ember运行。 如果你想要模板或控制器上的所有特征,你应该在获取它们之后实际跟踪它们。

export default Ember.Route.extend({

  model: function(params) {
    return Em.RSVP.hash({
      traits: this.store.find('trait'),
      person: this.store.find('person', params.person_id)
    });
  },

  setupController: function(controller, model) {
    controller.set('model', model.person);
    controller.set('allTraits', model.traits);
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM