gpt4 book ai didi

javascript - Angular,更改模型时 View 不更新

转载 作者:行者123 更新时间:2023-11-29 22:03:05 25 4
gpt4 key购买 nike

我正在更改模型,我希望 View 会更新,但事实并非如此:

这是我的看法:

<div ng-controller="showCarCtrl">
<h1>Damaged Cars</h1>
<table border="1">
<tr>
<th>Plate Number</th>
<th>Brand</th>
<th>Color</th>
</tr>
<tr ng-repeat="car in cars" ng-show="car.damaged">
<td>{{car.plate_number}}</td>
<td>{{car.brand}}</td>
<td>{{car.color}}</td>
<td>
<button ng-click="setRepaired(car.cid)">Repaired</button>
</td>
</tr>
</table>
</div>

这是 Controller :

app.controller('showCarCtrl', function($scope, $rootScope,CarService){
$scope.setDamaged = function(cid){
console.log("setting the car as damaged "+cid)
$rootScope.loading = true;
CarService.setDamageCar(cid)
.then(function(data){
$rootScope.loading = false;
console.log("set damage 1")
for(var i=0; i<$scope.cars.length; i++) {
console.log("setting car as damage");
if ($scope.cars[i]==cid) {
$scope.cars[i].damaged = 1
$scope.$apply();
console.log("it enters here");
break;
}
console.log($scope.cars)
}
},

//deferred
function(data){
console.log('Car Service failed');
$rootScope.loading = false;
});
};

});

我已经从服务器检查过,服务器的回复正常,我在 $scope.cars[i].damaged = 1 成功更新了模型,唯一的问题是我期待 View 发生变化,因为如上所示,在 View 中,我有 <tr ng-repeat="car in cars" ng-show="car.damaged"> 的东西。 , 但 View 没有更新

最佳答案

我认为你的代码有错误:

if ($scope.cars[i]==cid) {

也许应该是这样的:

if ($scope.cars[i].cid === cid) {

关于javascript - Angular,更改模型时 View 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22526258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com