web-dev-qa-db-ja.com

AngularJS / UI-Routerで設定されている状態を確認するにはどうすればよいですか?

$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.

component1component2の2つの状態をリストするものはありますか?

45
SimplGy

$state.get()

すべての状態の配列を返します。最上位の抽象状態が含まれますが、必要に応じてフィルタリングできます。

i-routerで登録済みの状態を列挙する方法

95
SimplGy

適切に表示されたネストされた状態を含む実際のURLルートを取得しようとするユーザーの場合:

$state.get().map(function(state) { return $state.href(state.name) })

// => ['/login', '/home', '/something']
7
Jacka