也许我误解了'@each'。
为什么@each选择数组是空的
this.get('taggings.@each.selection').toArray()
[]
但第一个对象存在:
this.get('taggings.firstObject.selection.id')
"528d0f2b6dc8270d2f0002df"
同样,我可以这样做:
this.get('taggings').toArray()[0].get('selection.id')
"528d0f2b6dc8270d2f0002df"
但我宁愿写更简洁的'标签。@ each.selection'
以下是更多背景信息:
App.Folder = DS.Model.extend(App.Auditable, {
//....
taggings: DS.hasMany('tagging', {async: true}),
//...
selections: function() {
return this.get('taggings.@each.selection');
}.property('taggings.@each'),
答案 0 :(得分:0)
@each用于表示依赖项(在属性方法中),而不是用作getter。
虽然有一些不错的方法可以映射结果。
this.get('taggings').map(function(tagging){return tagging.get('selection')});
甚至更小
this.get('taggings').getEach('selection');