簡體   English   中英

Angular ng-repeat數學

[英]Angular ng-repeat math

我想在一個角度表達式內創建一些數學運算,其內容如下: 用戶可以在該網站上獲得信譽或該用戶獲得一定折扣。 所以我有以下代碼:

<div ng-repeat="item in NewArrivals">
<div>{{item.NewPrice - userCredit | number:2}}</div>
<div>

我想做的是,當用戶登錄后,我們的userCredit變成了一個數字,這很簡單,或者如果用戶未登錄,則userCredit是item.NewPrice的-5%,這就是問題。

我在'PageController.js'中

    if (TheUser == "notThere") {
        console.log('5% discount for the user')
        var userDiscount = 0.95;
    } else {
        var userCredit = 300;
    }

如果用戶已登錄,我如何才能獲得ng-repeat中每個項目的newPrice減去5%的價格? 無需進行兩次不同的ng重復。

為了使該值在模板上可用,您需要將其添加到$ scope中(或者,如果您使用的是controller-as語法,則將其添加到控制器中)。 此外, var userCredit = 5%; 是無效的javascript。 所以我會這樣做:

if (TheUser === "notThere") {
   $scope.userDiscount = 0.95;
} else {
   $scope.userDiscount = 1.0; // I'm not sure what value you want here.
}

然后在模板上:

<div ng-repeat="item in NewArrivals">
  <div>{{item.NewPrice * userDiscount | number:2}}</div>
<div>

這就是你如何管理它

<div ng-repeat="item in NewArrivals">
  <div ng-if="userDiscount">{{item.NewPrice * userDiscount | number:2}}</div>
  <div ng-if="userCredit">{{item.NewPrice - userCredit | number:2}}</div>
<div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM