Javascript 如何获取当前ui路由器状态的完整url?
我正在为AngularJS使用ui路由器;我正在处理Javascript 如何获取当前ui路由器状态的完整url?,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在为AngularJS使用ui路由器;我正在处理“$stateChangeSuccess”事件,并尝试获取当前状态的完整路径(在“#”之后)$location.hash()返回一个空字符串,$state.url仅返回路径中应用于嵌套状态的部分 我的完整路径#/a/b $state.url == "/b" $locadtion.hash() == "" 如何获取#/a/b或/a/b?您可以随时使用: window.location 或: (如果这是您想要的)。您尝试过$location.
“$stateChangeSuccess”
事件,并尝试获取当前状态的完整路径(在“#”之后)$location.hash()
返回一个空字符串,$state.url
仅返回路径中应用于嵌套状态的部分
我的完整路径#/a/b
$state.url == "/b"
$locadtion.hash() == ""
如何获取#/a/b
或/a/b
?您可以随时使用:
window.location
或:
(如果这是您想要的)。您尝试过$location.url()吗?这应该包括散列。事实上,我的测试显示它没有抓取散列
另一方面,您可能希望在$locationProvider中设置HTML5模式。尝试将URI部分连接在一起 window.location.origin+window.location.pathname+window.location.hash
PS:在Firefox上不起作用:(您应该收听
$locationchangesuccessuccess
事件
在那里,您可以使用
$location.path()
或window.location.hash
取决于您的需要。HTML5模式对解决方案有帮助吗,还是只是一种更好的做法?如果有,优势是什么?答案解释了它的作用以及为什么它可能比我更重要。为了更好地回答您的问题,我使用它的原因是为了摆脱url栏中出现的#。
window.location.hash