[英]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.