【发布时间】:2014-10-16 13:58:32
【问题描述】:
我向服务器发送请求,并希望在收到响应后有条件地重定向到另一个页面(不是角度)。因此,导航发生在 then 承诺的一部分内。
我试过了:
$location.path(url)
和
$window.location.href = url;
$windo.location.reload();
没有任何作用。
但是如果我用setTimeout(navigate,0) 包装这两个调用中的任何一个,就会发生重定向。
似乎在摘要周期中 Angular 保护 url。
谁能澄清或分享解释真实情况的链接。
【问题讨论】:
-
可能是一些与角度摘要相关的东西。我认为这应该可以正常工作:
window.location.href = url;. -
@dfsq 是的,这行得通 =) 但这就像“使用武力,卢克” =)
-
我在$location 文档中发现了一条评论,其中提到了对
$location的更改如何在摘要周期内排队。此外,我可以看到 $location service source 如何等待将 URL 与浏览器同步,直到发生某些角度事件。然而,我还没有完全理解这一切是如何结合在一起的。我希望这些资源可以帮助其他人...... -
@Benjm setTimeout 仅适用于 $window.locatin.href @location.path() 重定向到 angulars 根页面 (/)
-
嗯。您是使用
$http还是$resource与服务器通信?