我有一个外部服务的方法,我在一个角度应用程序中使用。此方法更新本地范围(something
)上的一些变量。
$scope.something.loadServerData(callback)
不幸的是,直到我点击其他地方的按钮或者通常强制使用另一个摘要时才会反映这些更改。
将loadServerData()
包装在$scope.$digest()
中或在回调方法中运行它不起作用,并产生一个已在进行中的摘要错误。
$scope.something.loadServerData(function() {
$scope.$digest();
});
如何在服务器请求后强制UI / DOM更新并反映更改?
答案 0 :(得分:0)
将范围更新包含在$ timeout内。
$timeout(fn1);
。如果没有运行,这将触发摘要周期。
或者,您可以尝试使用safeApply。 https://coderwall.com/p/ngisma/safe-apply-in-angular-js