У меня есть состояние и вложенное состояние, как определено в app.js
:
function config($stateProvider, $urlRouterProvider, $httpProvider, $locationProvider) {
$httpProvider.interceptors.push('authInterceptor');
$stateProvider.state("feed", { //parent state
url: "/feed",
controller: "FeedCtrl as feed",
templateUrl: "/static/templates/feed.html"
})
.state("feed.post", { //nested state
url: "/post/:id",
controller: "PostCtrl",
templateUrl: "/static/templates/post.html"
})
}
Контроллеры различны для обоих состояний.
Кроме того, шаблон вложенного состояния не вложен в шаблон родительского состояния. Оба шаблона feed.html
и post.html
полностью независимы и раздельны.
Является ли вложенное состояние, определенное в app.js, достаточным для обеспечения взаимодействия между родительскими и дочерними отношениями между контроллерами или выполнения контроллеров, а шаблоны также должны быть вложенными?
Если да, то как я могу получить доступ к области родительского контроллера из дочернего контроллера?
Вложенные состояния, определенные в app.js, требуются, но не достаточны для обеспечения взаимодействия между родительскими и дочерними отношениями.
Шаблоны контроллеров также должны быть вложенными.
Государства могут быть вложены с использованием любого из четырех вариантов ниже
* Использование "точечной нотации". Например.state('contacts.list', {}).
* Используйте ui-router.stateHelper для создания состояний из вложенного дерева состояний.
* Использование родительского свойства с родительским именем в виде строки. Например: parent: 'contacts'
* Использование родительского свойства с родительским объектом. Например, parent: contacts (где "контакты" - это объект stateObject)
Вы можете искать более подробную информацию в документе здесь
Вы можете регистрировать состояния в любом порядке и через модули. Вы можете зарегистрировать дочерние элементы до того, как существует родительское состояние. Он будет стоять в очереди и после регистрации родительского состояния будет зарегистрирован ребенок.
Родительское состояние должно существовать, и ни одно из двух состояний не может иметь одно и то же имя.
Статусы детей загружают свои шаблоны в их родительский ui-view.
Для получения более подробной информации обратитесь к ссылке для ссылки.