【问题标题】:Ember JS computed property binding to child of hasManyEmber JS 计算属性绑定到 hasMany 的子级
【发布时间】:2014-09-06 20:16:19
【问题描述】:

我有以下型号:

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')

【问题讨论】:

    标签: ember.js binding computed-values


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-06-26
      • 1970-01-01
      • 2018-02-12
      • 2014-08-19
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多