在我们的AngularJS应用程序中,我们需要使用jQuery将数据发布到后端。我们不能使用$http,因为它没有以我们后端需要的方式格式化对象。jQuery就是这样。
我试图在jQuery POST完成后设置一个$scope变量,但无法访问$scope。
$scope.submit = function () {
$scope.isSubmitting = true;
$.post("DoStuff",{ createmodel: $scope.model })
.then(function(result) {
///THIS FAILS TO DO ANYTHING
$scope.isSubmitting = false;
});
};
在jQuery帖子返回后,如何访问它中的$scope。
发布于 2018-06-14 05:42:44
它不能做任何事情,因为jQuery没有通知Angular作用域变量已经改变。只需添加$scope.$apply()
即可实现这一点
在您的情况下,解决方案是
$scope.isSubmitting = false;
$scope.$apply();
发布于 2018-06-14 05:53:55
我会把这个放在$scope.$apply里面
$scope.apply(function(){
$scope.isSubmitting = false;
})
https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$apply
https://stackoverflow.com/questions/50846616
复制相似问题