gpt4 book ai didi

javascript - angularjs $scope.$apply() 给出此错误 : Error: [$rootScope:inprog]

转载 作者:可可西里 更新时间:2023-11-01 02:14:13 26 4
gpt4 key购买 nike

我正在尝试更新属于 $scope 的页面上的一些文本。但我不断收到此错误:

Error: [$rootScope:inprog] [http://errors.angularjs.org/1.2.15/$rootScope/inprog?p0=%24apply][1]
at Error (native)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:6:450
at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:101:443)
at h.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:108:301)
at h.$scope.changeLang (http://treenovum.es/xlsmedical/js/medical-app.js:80:16)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:169:382
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:186:390
at h.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:108:40)
at h.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:108:318)
at HTMLAnchorElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:186:372)

显然我做错了什么。 :)关于如何解决这个问题的任何想法?我希望页面更新为作用域中的新变量。

这是我用于更新的代码:

medicalApp.controller('MainCtrl', function($scope, $cookies, getTranslation) {
getTranslation.get(function(data){
$scope.translation = data;
});

$scope.changeLang = function (lang) {
console.log(lang);
$cookies.lang = lang;
$scope.$apply(function(){
getTranslation.get(function(data){
$scope.translation = data;
console.log(JSON.stringify($scope.translation));
});
});
};
});

html:

<body ng-controller="MainCtrl">
...
<div class="header-lang col-xs-4">
<p>
<a href="#" ng-click="changeLang('de')">DE</a> |
<a href="#" ng-click="changeLang('fr')">FR</a></p>
<div>{{ translation.text }}</div> <---- Example variable I want updated.
...

我还在为我加载的每个页面使用带有单独 Controller 的 ngRoute,是否与它有任何关系?

最佳答案

如果您的模板在更改模型后没有更改,并且您需要使用 $scope.$apply,您可以使用 $scope.$applyAsync 代替它。

https://github.com/angular-ui/ui-codemirror/issues/73

关于javascript - angularjs $scope.$apply() 给出此错误 : Error: [$rootScope:inprog],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23128220/

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