Javascript Ng bind在更改后不更新值
我是一个新来的安格拉斯人,不能理解一些东西 在此代码中: 视图:Javascript Ng bind在更改后不更新值,javascript,angularjs,Javascript,Angularjs,我是一个新来的安格拉斯人,不能理解一些东西 在此代码中: 视图: 当我初始化rejectOrder或successOrder功能时,它会成功工作,在服务器响应后,它会从“orders”数组中删除元素并绑定到ng repeat模型,动态隐藏删除的元素,但ng bind=“orders.length”不会更改。有人知道原因是什么吗?ng bind不适用于数组,因为您正在摘要周期之外更改数组的值。使用$scope.apply(),或者您可以尝试在span标记中使用双卷曲标记{{orders.lengt
当我初始化rejectOrder或successOrder功能时,它会成功工作,在服务器响应后,它会从“orders”数组中删除元素并绑定到ng repeat模型,动态隐藏删除的元素,但ng bind=“orders.length”不会更改。有人知道原因是什么吗?ng bind不适用于数组,因为您正在摘要周期之外更改数组的值。使用
$scope.apply()
,或者您可以尝试在span
标记中使用双卷曲标记{{orders.length}
,这应该可以达到目的
<div id="messagesIndic" onclick="messageClick()" class="btn btn-info">
Messages <span class="badge badge-primary">{{orders.length}}</span>
</div>
消息{orders.length}
最后我找到了原因,我有两个同名的控制器,但是-尽管彼此都有自己的$scope它没有帮助(好的,你能添加一个或你的代码示例,以便我可以在那里提供解决方案吗?
app.controller('ordersCtrl', function ($scope, $http) {
$scope.ordersLen = 0;
$http({
method: "GET",
url: "/Course/OrdersToCource"
}).then(function (result) {
$scope.orders = result.data
})
$scope.successOrder = function (id, item, eventCaller) {
$http({
method: "POST",
url: "/Cource/SuccessToOrder?orderId=" + id
}).then(function (result) {
var index = $scope.orders.indexOf(item);
console.log(item);
$scope.orders.splice(index, 1);
$scope.ordersLen = $scope.orders.length
})
}
$scope.rejectOrder = function (id, item, eventCaller) {
$http({
method: "POST",
url: "/Course/RejectOrderToCourse?orderId=" + id
}).then(function (result) {
var index = $scope.orders.indexOf(item);
$scope.orders.splice(index, 1);
})
}
})
<div id="messagesIndic" onclick="messageClick()" class="btn btn-info">
Messages <span class="badge badge-primary">{{orders.length}}</span>
</div>