$scope.$apply 触发一个 Angular 摘要循环,但由于您的更改发生在 Angular 应用程序内部,因此已经有一个循环在运行并处理您的数据,这就是为什么会出现该错误,因为您不应该有 2摘要循环同时执行。 $scope.$apply 在 Angular 环境之外发生一些变化时很有用。例如,当您需要集成不友好的 Angular 组件(如 jquery 插件或其他在 Angular 世界之外处理事件的 ui 元素)时。如果您想从任何这些元素事件中更新 Angular 应用程序,您需要使用 $scope.$apply,如果您选择使用 setTimeout 或 setInterval 而不是为 Angular 提供的 $timeout 或 $interval 服务,也会发生这种情况,因为函数的执行会发生在 Angular 摘要周期之外。
$.ajax({
url:'http://lslsls.com',
method: 'get'
})
.success(function(data){
var scope = angular.element($('#elementId')).scope();
scope.returnedData=data;
scope.$apply();
});
不要过多关注 jquery 部分,但请注意在 success 函数中如何检索和更新范围,如果我不在那里使用 scope.$apply() ,则值不会在查看范围,直到发生其他更改并强制执行摘要循环
Tôi là một lập trình viên xuất sắc, rất giỏi!