сумма массива с использованием угловой для каждого [дубликата]


0

Создайте функцию в контроллере, которая рассчитает ее для вас.

<div>Total: {{ getTotalHours() }}</div>

в контроллере

$scope.getTotalHours= function(){
    var total = 0;
    for(var i = 0; i < $scope.discountList.length; i++){
        var item = $scope.discountList[i];
        total += item.hours;
    }
    return total;
}

0

Вопрос кажется двусмысленным, но это, вероятно, вам нужно. Изначально задайте totalPriceи totalHoursдо 0, angular.forEachитерации по каждому объекту и добавьте его в переменную.

$scope.calculatePrice = function() {
    $scope.totalPrice = 0;
    $scope.totalHour = 0;

    angular.forEach($scope.options, function(opt) {
        $scope.discountList[opt] = {};
        $scope.discountList[opt].servers = $scope.servers[opt];
        $scope.discountList[opt].subscription = $scope.subs[opt];

        var price = (Math.pow($scope.servers[opt], 0.75)) * $scope.priceMapping($scope.subs[opt])[0];
        var hours = Math.round((($scope.priceMapping($scope.subs[opt])[1]) * (Math.pow($scope.servers[opt], 0.75))) * 10) / 10;

        $scope.discountList[opt].price = price;
        $scope.discountList[opt].hours = hours;

        $scope.totalPrice += price;
        $scope.totalHour += hours
    });
    console.log("Total Price : ", $scope.totalPrice);
    console.log("Total Hours : ", $scope.totalHour);
};

HTML

<div> Total Price : {{totalPrice}}</div>
<div> Total Hours : {{totalHour}}</div>
JavaScript, angularjs, контроллер, JavaScript,

javascript,angularjs,controller,javascript,

0

Ответов: 2


0

Создайте функцию в контроллере, которая рассчитает ее для вас.

<div>Total: {{ getTotalHours() }}</div>

в контроллере

$scope.getTotalHours= function(){
    var total = 0;
    for(var i = 0; i < $scope.discountList.length; i++){
        var item = $scope.discountList[i];
        total += item.hours;
    }
    return total;
}

0

Вопрос кажется двусмысленным, но это, вероятно, вам нужно. Изначально задайте totalPriceи totalHoursдо 0, angular.forEachитерации по каждому объекту и добавьте его в переменную.

$scope.calculatePrice = function() {
    $scope.totalPrice = 0;
    $scope.totalHour = 0;

    angular.forEach($scope.options, function(opt) {
        $scope.discountList[opt] = {};
        $scope.discountList[opt].servers = $scope.servers[opt];
        $scope.discountList[opt].subscription = $scope.subs[opt];

        var price = (Math.pow($scope.servers[opt], 0.75)) * $scope.priceMapping($scope.subs[opt])[0];
        var hours = Math.round((($scope.priceMapping($scope.subs[opt])[1]) * (Math.pow($scope.servers[opt], 0.75))) * 10) / 10;

        $scope.discountList[opt].price = price;
        $scope.discountList[opt].hours = hours;

        $scope.totalPrice += price;
        $scope.totalHour += hours
    });
    console.log("Total Price : ", $scope.totalPrice);
    console.log("Total Hours : ", $scope.totalHour);
};

HTML

<div> Total Price : {{totalPrice}}</div>
<div> Total Hours : {{totalHour}}</div>
JavaScript, angularjs, контроллер, JavaScript,
Похожие вопросы