如何获取当前ui-router状态的完整URL?

时间:2013-12-17 22:11:18

标签: javascript angularjs angular-ui-router

我正在为AngularJS使用ui-router;我正在处理'$stateChangeSuccess'事件,并尝试获取当前状态的完整路径(在'#'之后)。 $location.hash()返回一个空字符串,$state.url仅返回适用于嵌套状态的路径部分。

我的完整路径#/a/b

$state.url == "/b"
$locadtion.hash() == ""

如何获得#/a/b/a/b

4 个答案:

答案 0 :(得分:11)

您可以随时使用:

window.location 

或:

window.location.hash 

(如果这就是你想要的)。

答案 1 :(得分:2)

你试过$ location.url()吗? 那应该包含哈希。实际上,我的测试显示它没有抓住哈希值。

$location docs

顺便说一下,你可能想看看在$ locationProvider中设置html5Mode。

答案 2 :(得分:1)

你应该听$locationChangeSuccess事件。

根据您的需要,您可以使用$location.path()window.location.hash

答案 3 :(得分:0)

尝试将URI部分连接在一起

window.location.origin + window.location.pathname + window.location.hash

PS:在Firefox上不起作用:(