javascript-在Ember / Ember数据中访问嵌套的hasMany关系
作者:互联网
我正在尝试访问嵌套的hasMany关系,期望得到希望.不幸的是,我无法通过以下任何方式获得预期的结果:
// Tried the following
this.get('users.emails')
this.get('users.@each.emails')
this.get('users').get('emails')
// Trying to avoid this:
this.get('users').
then(function(users) {
var arr = Ember.A();
users.forEach(function(user, index){
arr.pushObject(user.get('emails'));
});
return array;
}).
then(function(emailArr){
// then do something
});
// Preferable
this.get('users.emails').then(function(emails){
// then do something
});
解决方法:
如果您已将异步值设置为true来定义模型,如下所示:
users: DS.hasMany('user', {async: true})
那么通常调用this.get(‘users’)将返回一个promise数组,并且在您实际开始使用它时可能无法解决.
嵌套获取非常棘手,特别是在异步模型复杂的情况下,所以我建议您这样做:
this.get('users').then(function(users) {
users.get('emails').then(function(emails) {
// do stuff with emails.
});
}
烦人吗绝对.大概有必要吗?是的
标签:ember-js,ember-data,javascript 来源: https://codeday.me/bug/20191030/1964369.html