如何讓我的buy(i)函數與我的第一段標記中重複出現的每個「汽車中的汽車」一起運行?如何通過數組中的每個值運行函數
如何讓buy()函數只在點擊一次時運行,以便如果點擊兩次,它不會再從總數中減去汽車的價格,而是返回(或添加)金額扣除總額。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.total = 2000;
$scope.cars = [{
model: "Ford Mustang",
color: "red",
price: 100
},
{
model: "Fiat 500",
color: "white",
price: 199
},
{
model: "Volvo XC90",
color: "black",
price: 190
}
];
$scope.buy = function(i) {
$scope.total -= $scope.cars[i].price;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<p ng-repeat="car in cars" ng-click="buy()">{{car.model}}</p>
<a href="#">
<p ng-click="buy(0)">{{cars[0].model}}</p>
</a>
<p> Money Remaining: <br>{{total}}</p>
</div>
如果錢已經從值中減去,某個地方跟蹤。也許$ scope.subtracted = true/false?然後在scope.buy()函數中檢查這個,比如if($ scope.subtracted)' - 使用這個結果,將函數中的運算符更改爲'+ ='或' - ='。 – Lewis
'buy()'函數應該減去每輛車的價值,但同時也是一輛汽車點擊汽車時的價值?邏輯不起作用 – Weedoze