使用AngularJS重定向

Tom*_*rto 87 redirect location angularjs

我正在尝试使用以下方法重定向到另一条路线:

$location.path("/route");
Run Code Online (Sandbox Code Playgroud)

但由于某种原因它不起作用.我使用jQuery-UI做了一个自动完成的小部件,一旦用户选择了一个选项,我就会从作用域调用一个函数.我调试它并进入函数但它永远不会重定向到其他路由.它只在我按一个键时改变路线.

我觉得这有点奇怪,但我还没弄明白如何解决这个问题.我用了

window.location = "#/route";
Run Code Online (Sandbox Code Playgroud)

它工作但我想使用该path()功能.

有人知道为什么会这样吗?

Ren*_*des 109

有了一个不工作代码的例子,很容易回答这个问题,但是有了这些信息,我能想到的最好的就是你在AngularJS摘要之外调用$ location.path.

尝试在指令上执行此操作 scope.$apply(function() { $location.path("/route"); });

  • 知道如何在$ http请求中的.success方法中使用它吗?@Tomarto (23认同)
  • 在firefox(30~)控制台上触发$ apply循环繁忙的错误 (2认同)

Ste*_*rov 82

别忘了注入$location控制器.

  • 很好的捕获 - 这对我来说是个问题. (2认同)

小智 20

假设您没有使用html5路由,请尝试$location.path("route").这会将您的浏览器重定向到#/route您想要的内容.


Rau*_*cco 15

如果您需要重定向您的角度应用程序使用$window.location.那是我的情况; 希望有人会觉得它很有用.