Ember JS привязывает вычисляемое свойство к потомку hasMany

У меня есть следующие модели:

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

У меня есть обходной путь, который добавляет optionName на Value как ниже, но разве я не смогу связываться, как я пытаюсь выше?

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

1 ответ

Рад, что вы нашли обходной путь, в документах прямо указано, что вложенные зависимые свойства работают только на один уровень при использовании @each,

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

Другие вопросы по тегам