Ember findRecord并包含

我有一个组件需要在邮政编码中查询家庭服务。 这是为了响应用户input邮编而填充select下拉列表。

所以我有

export default Ember.Component.extend({ store: Ember.inject.service(), actions: { findHome: function(){ // component declared for promise var component = this; var postcode = this.get( 'area.postcode'); var store = this.get('store'); // EITHER... var x = store.findRecord('postcode', postcode, {include: 'homes'}) .then( function (area) { component.set( 'homes', area.homes); }); // OR... var x = store.findRecord('postcode', postcode, {include: 'homes'}) component.set( 'homes', x.homes ); } } }); 

无论如何,这是不行的,因为这两个解决scheme都没有一个适当的homesarrays。 我应该怎么做?

我可以看到Mirage返回数据(邮编和包含的房屋)以响应findRecord。

在余烬数据中, 关系返回Promises 。 所以在你的情况下,你可能会改变你的第一个选项有点像下面,

 store.findRecord('postcode', postcode, {include: 'homes'}) .then( function (area) { area.get('homes').then((result)=>{ component.set( 'homes',result); }); }); 

记住你的第二个选项是错误的,因为findRecord返回Prmise,所以你设置Prmoise而不是结果到家。