是否有更简洁的方法从find中返回第一个元素?

时间:2014-07-08 22:33:06

标签: ember.js

以下代码将返回DS.AdapterPopulatedRecordArray,但由于slug在我的模型中是唯一的,我只希望它返回第一个对象。

import Ember from 'ember';

export default Ember.Route.extend({
    model: function(params) {
        return this.store.find('foo', { slug: params.slug });
    }
});

为了获得模板中的第一个对象,我写了model.firstObject.slug

有没有办法从Route返回第一个对象而不是带有一个对象的数组? - 因此只需在模板中编写model.slug

1 个答案:

答案 0 :(得分:2)

Promise让你能够将额外的承诺链接到它们,最后/最深的结果将是模型钩子使用的结果。

 return this.store.find('foo', { slug: params.slug }).then(function(results){
   return results.get('firstObject');
 });