我在emberjs工作,我正在尝试使用filterProperty,以便我可以在把手中调用{{#each messageFromGroup}}
。但是,在尝试基于group.id
进行过滤时,以下代码无效。但是(例如)在当前上下文中(在函数messageFromGroup中)console.log @get 'group.id
将返回一个数字(例如2)。代码:
App.MessagesController = Ember.ArrayController.extend
group: null
needs: 'group'
groupBinding: "controllers.group"
messageFromGroup: (->
return @get('model').filterProperty 'to', @get('group.id')
).property 'model.@each.to'
注意:如果我按如下方式编写代码,它会起作用,这使我相信查找@get group.id
的问题就是问题。
App.MessagesController = Ember.ArrayController.extend
group: null
needs: 'group'
groupBinding: "controllers.group"
messageFromGroup: (->
return @get('model').filterProperty 'to', 2
).property 'model.@each.to'
答案 0 :(得分:0)
我想groupBinding
是否有助于访问GroupController
?我不知道,为什么这不起作用,但在这种情况下我不会使用绑定。我会使用别名。因此,请试试这个:
App.MessagesController = Ember.ArrayController.extend({
...
group : Ember.computed.alias("controllers.group")
});
编辑:我刚看到这不是问题,因为你说group.id的logstatement工作正常。那么唯一的另一个问题可能是@get('group.id')
正在返回一个字符串但你需要一个数字。