常见原因
除了简单的不正确调用 $apply
或 $digest
,有些情况下,即使没有犯错,也有可能得到这个错误。
可能出错的代码
function MyController($scope, thirdPartyComponent) {
thirdPartyComponent.getData(function(someData) {
$scope.$apply(function() {
$scope.someData = someData;
});
});
}
改成这样就可以了
function MyController($scope, thirdPartyComponent) {
thirdPartyComponent.getData(function(someData) {
$timeout(function() {
$scope.someData = someData;
}, 0);
});
}