我正在尝试使用以下命令重定向到另一条路由:
$location.path("/route");
但由于某些原因,它不起作用。我使用jQuery-UI做了一个自动完成的小部件,一旦用户选择了一个选项,我就会从作用域中调用一个函数。我调试了它,它进入了函数,但它永远不会被重定向到另一个路由。它只在我按下一个键的时候改变路线。
我认为这有点奇怪,但我还没有想出如何解决这个问题。我用过
window.location = "#/route";
它可以工作,但我想使用path()
函数。
有人知道为什么会发生这种事吗?
发布于 2012-08-11 03:46:44
通过一个不起作用的代码的示例,很容易回答这个问题,但是有了这个信息,我认为最好的方法是在AngularJS摘要之外调用$location.path。
尝试在指令scope.$apply(function() { $location.path("/route"); });
上执行此操作
发布于 2012-12-07 18:32:14
别忘了把$location
注入控制器。
发布于 2012-08-11 06:38:32
假设您没有使用html5路由,请尝试$location.path("route")
。这会将你的浏览器重定向到你想要的#/route
。
https://stackoverflow.com/questions/11907961
复制相似问题