В AngularJs установите переменную в forEach для каждого объекта

0

Я пытаюсь запустить функцию forEach с данными из запроса, и я хочу установить переменную для каждого объекта в этих данных, чтобы иметь возможность использовать в ng-repeat. Я продолжаю переопределять переменную и не могу обернуть голову вокруг установки переменной для каждой из них.

CategoryCardService.query({}, function (data) {
            $scope.categoryCards = data;
            angular.forEach(data, function (value) {
                var categoryOccupancyPercent = $filter('number')(value.occupancy_percent * 100, 0);
                var categoryTotalTurnover = value.total_turnover;

                var doughnut_chart_min = 0;
                var doughnut_chart_max = 0;

                doughnut_chart_min = categoryOccupancyPercent;
                doughnut_chart_max = 100 - categoryOccupancyPercent;

                data.doughnutData = [doughnut_chart_min, doughnut_chart_max];
                data.display = categoryOccupancyPercent + '%';

            });


        });
  • 0
    Если вы хотите, чтобы у каждого элемента массива данных было поле dougnutData, вам нужно value.doughnutData = ...; , не data.doughnutData = ... Текущий элемент массива - это value . data это весь массив.
Теги:

1 ответ

0

Перейдите в ключ и назначьте это.

CategoryCardService.query({}, function (data) {
    $scope.categoryCards = data;
    angular.forEach(data, function (value, key) {
       // ...
       data[key].display = categoryOccupancyPercent + '%';
    });
});
  • 0
    Почему бы просто не value.display = categoryOccupancyPercent + '%'; ?
  • 0
    Ой, оплошность с моей стороны. Главное не добавлять новый ключ к общему объекту.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню