У меня есть простой DataModel:Ember данные вычислены свойство не работает на вложенной ассоциации
окорока, есть много игроков, которые имеют много Оборотов:
App.Store = DS.Store.extend({
revision: 11,
adapter: 'DS.FixtureAdapter'
});
App.Leg = DS.Model.extend({
players: DS.hasMany('App.Player'),
turnCount: function() {
var i = 0;
this.get('players').forEach(function(p) {
i+= p.get('turns.length');
});
return i;
}.property('[email protected]')
});
App.Player = DS.Model.extend({
leg: DS.belongsTo('App.Leg'),
turns: DS.hasMany('App.Turn')
});
App.Turn = DS.Model.extend({
player: DS.belongsTo('App.Player')
});
Вычисленное свойство turnCount
автоматически не получает обновляется, когда я создаю новый поворот, но он должен, правильно?
/*
* do this on the console to verify
*/
var leg = App.Leg.createRecord();
var player = leg.get('players').createRecord();
leg.get('turnCount');
// => 0
player.get('turns').createRecord();
leg.get('turnCount')
// => 0
UPDATE
Кажется, что если вы будете придерживаться одного слоя гнездовых вещей просто работать. Таким образом:
.property('[email protected]')
работает, пока этот SomeProperty не является Перечислимым.