如何查看 AngularJS / UI-Router 中配置了哪些状态?
Posted
技术标签:
【中文标题】如何查看 AngularJS / UI-Router 中配置了哪些状态?【英文标题】:How to see what states are configured in AngularJS / UI-Router? 【发布时间】:2014-03-02 15:56:24 【问题描述】:有没有办法查看在$stateProvider
上设置的所有状态?
在这种情况下,我希望我的状态分配分布在许多文件中。我想在不同的文件中检查 run
或 config
上的构建状态。
例如:
# component1.coffee
angular.module('zoo').config ($stateProvider) ->
$stateProvider.state 'component1',
url: '/component1'
template: _template
controller: 'Component1Ctrl'
# component2.coffee
angular.module('zoo').config ($stateProvider) ->
$stateProvider.state 'component2',
url: '/component2'
template: _template
controller: 'Component2Ctrl'
# componentNavigation.coffee
angular.module('zoo').run ($state) ->
console.log 'All configured states:', $state.configuredStates # doesn't exist.
有没有什么可以列出component1
和component2
这两个状态?
【问题讨论】:
复制:question/answer 【参考方案1】:$state.get()
返回所有状态的数组。包括***抽象状态,但您可以根据需要将其过滤掉。
How to enumerate registered states in ui-router?
【讨论】:
【参考方案2】:对于尝试获取实际 URL 路由(包括正确显示的嵌套状态)的人:
$state.get().map(function(state) return $state.href(state.name) )
// => ['/login', '/home', '/something']
【讨论】:
以上是关于如何查看 AngularJS / UI-Router 中配置了哪些状态?的主要内容,如果未能解决你的问题,请参考以下文章
Angularjs UI-route 为啥无法跳转到 test.html
AngularJS:无法使用 ui-route $state 获取 html5 模式网址
尽管ui-route和provider似乎工作正常,但我无法在angularjs中加载视图......这是一段代码