【发布时间】:2017-09-13 12:39:30
【问题描述】:
我在组件中使用 findAll 时遇到了一点问题。它涉及到最后返回的值。
users: Ember.computed(function() {
return this.get('store').findAll('user');
}),
就我而言,我想获取第一个对象的名称。所以在我的车把上:
users.firstObject.name
'users' 在这种情况下是一个类。但我试图直接返回属性中的第一个对象,如下所示:
user: Ember.computed(function() {
return this.get('store').findAll('user')
.then(function(user){
return user.get('firstObject');
});
}),
但在这种情况下,在我的车把中,user.name 是未定义的,而 user 是一个承诺。有一些我无法理解的承诺,它们是如何工作的...... 有人可以帮助我获得正确的用户而不对我的用户使用“firstObject”吗? 提前致谢 !
【问题讨论】:
-
组件默认设置为不知道除了传入的数据之外的数据,而这可以通过导入 store.您应该将 findAll 放在路由器中并将其返回给模型。然后,您可以将该模型传递给组件。从那时起,通过使用 toArray() 来解决承诺的记录实际上非常简单,然后您可以获得数组中的第一个。
this.get('model').toArray()[0]
标签: ember.js ember-data