为什么设置$ window.location.href在promise中设置时不起作用?

时间:2014-10-16 13:58:32

标签: angularjs angular-routing

我向服务器发送请求,并希望在收到响应后有条件地重定向到另一个页面(非角度)。因此,导航发生在承诺的then部分内。

我试过了:

$location.path(url)

$window.location.href = url;
$windo.location.reload();

无效。

但如果我用setTimeout(navigate,0)包裹这两个调用中的任何一个,则会发生重定向 在消化周期中看起来像Angular guards url。

任何人都可以澄清或分享解释实际情况的链接。

1 个答案:

答案 0 :(得分:1)

完成更改后,在结束promise处理程序之前,请尝试执行以下操作:

$scope.$$phase || $scope.$apply();

这应该填补这些变化。