Ответы пользователя по тегу Ember.js
  • Как реализовать вычислительные свойства и агрегированные данные для подкатегорий и записей из связаной модели?

    @lands_of_infinity Автор вопроса
    Решил таким вот способом:

    models/category.js
    export default DS.Model.extend({
        name: DS.attr('string'),
        rashody: DS.hasMany('rashody',{ async: true }),
      
        parentCategory: DS.belongsTo('category', {inverse: 'subCategory'}),
        subCategory: DS.hasMany('category', {inverse: 'parentCategory'}),
      
        //расходы по категории
        rashCount: function(){
          var val = 0;
          this.get('rashody').forEach(function(rashod){
            val += rashod.get('count');
          });
          return val;
        }.property('rashody.@each.count'),
      
        // расходы по категории и дочерним категориям
        subcatRashCount: function(){
          var subVal =0;
          this.get('subCategory').forEach(function(subCat){
            subVal += subCat.get('subcatRashCount');
          });
          return subVal+ this.get('rashCount');
        }.property('subCategory.@each.subcatRashCount', 'rashCount')
       
    });


    Теперь непонятно как вывести в шаблон категории и субкатегории.

    Товары
    -Продлвольственные
    --Мука
    --Молоко
    -Хозяйственные
    --Мыло
    --Порошок
    Услуги
    -Химчистка
    ...
    Ответ написан
    Комментировать