Ember JS计算绑定到hasMany的子元素的属性

时间:2014-07-16 10:27:32

标签: ember.js binding computed-values

我有以下型号:

Variant = DS.Model.extend
    value: DS.hasMany('value')

    compiledValues: (->
        @get('values').map((v,i,e) -> 
            v.get('option').get('name') + ' : ' + v.get('value')
        ).join("\n")
    ).property('values.@each.value', 'values.@each.option.name')

Value = DS.Model.extend
    option: DS.belongsTo('option')

Option = DS.Model.extend
    values: DS.hasMany('values')

我遇到的问题是计算属性compiledValues仅在我修改其中一个值的值时更新,而不是在选项名称更改时更新。

请参阅jsbin demonstration

我有一个解决方法,可以在optionName添加Value,如下所示,但我不能在我尝试上面时绑定吗?

optionName: Ember.computed.alias('option.name')

1 个答案:

答案 0 :(得分:1)

很高兴您找到了解决方法,在文档中明确指出嵌套依赖属性在使用@each时只能使用一层深度。

http://emberjs.com/guides/object-model/computed-properties-and-aggregate-data/