无法计算从组件集合派生的属性

fails to compute attribute derived from components collection

参考:this jsfiddle

我有以下 (Coffeescript) 代码:

Member = Ractive.extend
  template : "<p>{{name}} {{age}}</p>"
  computed :
    age : ->
      parseInt(@get('age_in_days')/365)

new Ractive
  el : "#family"
  template : "{{#members}}<member name='{{name}}' age_in_days='{{age_in_days}}'/>{{/members}}{{youngest}}"
  components :
    member : Member
  data:
    members : [
      {name : 'Fred', age_in_days: 8000},
      {name : 'Barney', age_in_days: 10000},
      {name : 'Wilma', age_in_days: 7000}
      ]
  computed :
    all_ages : ->
      _(@findAllComponents('member')).map (member)->
        member.get('age')
    youngest : ->
      _(@get('all_ages')).min()

问题出在根 Ractive 实例的计算属性中。从 Ractive 代码深处抛出一个错误 ("TypeError: Cannot read property 'findAllComponents' of undefined")。计算属性 "all_ages" 和 "youngest" 未计算或呈现。

如有任何见解,我们将不胜感激。提前致谢。

它似乎在 oninit 中有效,但在计算上下文中无效。

oninit: ->
    console.log( (@.findAllComponents('member') ) )

猜想某些上下文丢失了。也许在 github 上与他们联系?

解决方法是 -

computed :
    all_ages : ->
       @get('members').map((m) -> m.age_in_days)  

    youngest : ->
      ages =  @get('all_ages')
      Math.min.apply @, ages