【发布时间】:2013-12-29 03:47:44
【问题描述】:
我正在尝试使用 Ember Data 的 hasMany 字段向我返回一个数组并将数组中项目的计数作为计算属性。但是,当我执行以下操作时,它会返回一个对象(由于 {async: true}? 而这似乎是一个承诺?)而不是我期望的数组。
App.Shift = DS.Model.extend({
name: DS.attr('string'),
people: DS.hasMany('person', {async: true});
number_of_people: (function(){
this.get('people').length
}).property('people')
)};
App.Person = DS.Model.extend({
first_name: DS.attr('string'),
last_name: DS.attr('string')
});
更新:我想返回人的长度。我尝试了这个,但是当我访问该属性时,我仍然返回了 promise 对象,而不是 then 中完成的 promise 的值。我将如何获得评估承诺返回的值?
number_of_people: (function(){
return this.get('people').then(function(people){
return people.get('length');
});
})
【问题讨论】:
标签: javascript arrays ember.js ember-data