Ответ 1
$state.get()
возвращает массив всех состояний. Включает абстрактное состояние верхнего уровня, но вы можете отфильтровать его, если хотите.
Есть ли способ увидеть все состояния, которые были установлены на $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
?
$state.get()
возвращает массив всех состояний. Включает абстрактное состояние верхнего уровня, но вы можете отфильтровать его, если хотите.
Для тех, кто пытается получить фактические URL-маршруты, включая правильно отображаемые вложенные состояния:
$state.get().map(function(state) { return $state.href(state.name) })
// => ['/login', '/home', '/something']