在退出click方法之前,如何使角度应用更改到视图?在以下示例中,我希望在显示确认框时可以看到范围.
$scope.click = function () {
$scope.saving = true; //Not enough
$scope.$apply(function () {
$scope.saving = true;
});//Throws error but works [$rootScope:inprog] $apply already in progress
confirm('Are you sure?');
$scope.saving = false;
}
<span ng-show="saving">Loading ... </span>
Run Code Online (Sandbox Code Playgroud)
你想要做的是在Angular的一个摘要周期中执行部分代码,而在另一个摘要周期中执行其余部分.我通过使用一个小超时完成此任务:
$scope.click = function () {
$scope.saving = true;
$timeout(function() {
confirm('Are you sure?');
$scope.saving = false;
}, 50);
}
Run Code Online (Sandbox Code Playgroud)
注意:不要忘记添加$timeout到控制器的依赖项
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |