【发布时间】:2013-08-22 20:04:31
【问题描述】:
我在 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'
【问题讨论】:
-
可能来自
group.id的值最初为空,并且更新后,但计算属性不知道这一点。尝试使用属性('model.@each.to', 'group.id'),在messageFromGroup -
我刚试过,还是不行。我不完全理解绑定的行为,但我有点确定(不是很确定)因为 console.log @get 'group.id' 在该上下文中工作,所以值不为空。然而,弄乱财产可能是关键
标签: ember.js coffeescript