Member 12523149 Ответов: 2

Как использовать пользовательскую переменную области видимости в ng-repeat с помощью angularjs


Мы должны использовать пользовательский scope varibale в ng-repeat с помощью angularjs, но он вернет последнее значение всем

Что я уже пробовал:

<div ng-repeat="pro in UserProduct">
{{discountvalue}}
</div>

<script>
 $http.get('/api/Product/ListOnlyProductOrderFeatured/', { params: {} }).success(function (data) {
$scope.UserProduct = data;
for (var i = 0; i < $scope.UserProduct.length; i++) {
$scope.generalprice = $scope.UserProduct[i].ec_shop_product_price;
$scope.discountprice = $scope.UserProduct[i].ec_shop_product_discount;

$scope.discountvalue = $scope.generalprice - $scope.discountprice;

}
})
</script>

2 Ответов

Рейтинг:
2

Member 12523149

Спасибо за ваш ответ, он работает нормально....


Рейтинг:
18

Richard Deeming

Вероятно, потому, что вы перезаписываете одну и ту же переменную на каждой итерации цикла.

Попробуйте вместо этого сохранить значение для каждого элемента:

for (var i = 0; i < $scope.UserProduct.length; i++) {
    var product = $scope.UserProduct[i];
    var generalPrice = product.ec_shop_product_price;
    var discountPrice = product.ec_shop_product_discount;
    product.discountvalue = generalPrice - discountPrice;
}