Я только начал использовать AngularJS с ui-router в живом проекте.Структура состояний Ui-router AngularJS
В настоящее время у меня возникают трудности с структурированием маршрутов.
Сценарий приложения: Для одного Бедствия, Есть несколько операции.
URL структура является следующим:
Бедствия: Typhoon
http://localhost/#/timeline/typhoon
Бедствия: Typhoon с операцией ID
http://localhost/#/timeline/typhoon/52
Я в настоящее время timeline
абстрактного состояния, но работают в неприятность.
.state('timeline', {
abstract: true,
url: '/timeline',
templateUrl: 'timeline.html',
controller: 'TimelineCtrl'
.state('timeline.calamity', {
url: '/{calamity}',
templateUrl: 'timeline.calamity.html',
controller: 'TimelineCtrl'
})
.state('timeline.calamity.operation', {
url: '/{operationID}',
templateUrl: 'timeline.calamity.operation.html',
controller: 'TimelineCtrl'
})
Когда я установил их, чтобы иметь timeline
родителя имеют URL, то operation
маршрут не загружается правильно.
.state('timeline', {
abstract: true,
url: '/timeline/{calamity}/{operationID}', // operationID should be optional here
templateUrl: 'timeline.html',
controller: 'TimelineCtrl'
})
.state('timeline.calamity', {
url: '',
templateUrl: 'timeline.calamity.html',
controller: 'CalamityCtrl'
})
.state('timeline.operation', {
url: '',
templateUrl: 'timeline.operation.html',
controller: 'OperationCtrl'
})
Каков порядок написания этих маршрутов?
Я думаю, ваш вопрос можно ответить из документации относительно [абстрактных состояний] (https://github.com/angular-ui/ui-router/wiki/Уплотненный-States-% 26-гнездовые Просмотры # абстрактных-состояние-использование-примеры). Это дает вам довольно хороший пример. Вы также можете посмотреть, как работает объект '$ stateParams' –