我使用angularjs和ui-router来编写页面。我发现我的路由器在当前路由器中不起作用。
例如:
当前路由器为/a/b
,$location.path()
或$location.path("/a/b")
无效。
如果我找到一条新路径$location.path("/a/c")
,它就可以了。
请给我一些关于我的问题的建议。感谢。
答案 0 :(得分:1)
如果当前网址是
/a/b
从UI-Router
角度来看,这意味着 - 某些州,例如
.state("stateA", {
url: "/a/:id"
...
}
当我们调用时,UI-Router不会触发状态更改:
$location.path("/a/b")
因为这意味着 - 否状态发生变化。另一方面,这个电话
$location.path("/a/c") // check the 'c' at the end
正在更改状态的:id param,并将导致状态重新加载。
我想说,如何强制进行状态更改的首选方法是使用服务$state
及其方法.go()
$state.go("stateA", params, options)
选项可以是:
{reload: true}
这将强制甚至当前状态重新加载。检查文档
go(to, params, options)
...
选项对象。选项包括: