AngularJS中的Promise和错误的重定向行为

时间:2014-10-23 10:58:00

标签: javascript angularjs promise barcode-scanner angular-promise

在AngularJS中,我想创建一个特定的行为。让我解释一下。

我有一个承诺链,最终会重定向到第A页或第B页。

我希望当这个promises链被调用(并且尚未解析)时,会显示另一个模板(一种“请稍候”页面。)

换句话说,预期的工作流程是:

  • 用户点击页面中的按钮,称为承诺
  • 在承诺解决期间,用户会看到等待页面。
  • 当承诺(实际的承诺链)得到解决时,用户将被重定向到第A页或第B页。

目前,在承诺解析期间,页面保持不变,这是正常的,但我不希望这样。

免责声明:我是Javascript概念的初学者,所以也许我会使用我不应该使用的东西。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你可以做这样的事情

HTML

<div ng-show="isLoading" class="loading">Please wait ...</div>

<div ng-show="isLoading == true">
 Normal content of your page ... 

 <a ng-click="doSomePromiseChain()">click me</a>
</div>

然后在角度控制器中

$scope.isLoading = false;
$scope.doSomePromiseChain = function() {
 $scope.isLoading = true;
 //call your promise chain
}

因此,当用户单击该按钮时,角度设置isLoading为true,并显示“Please wait ...”消息。 当承诺得到解决后,您将继续重定向到A或B