如何让我的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