Доступ к другому родительскому контроллеру из вложенных состояний

0

У меня есть состояние и вложенное состояние, как определено в 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, достаточным для обеспечения взаимодействия между родительскими и дочерними отношениями между контроллерами или выполнения контроллеров, а шаблоны также должны быть вложенными?

Если да, то как я могу получить доступ к области родительского контроллера из дочернего контроллера?

Теги:
angular-ui-router
angularjs-scope

1 ответ

0

Вложенные состояния, определенные в app.js, требуются, но не достаточны для обеспечения взаимодействия между родительскими и дочерними отношениями.

Шаблоны контроллеров также должны быть вложенными.

Государства могут быть вложены с использованием любого из четырех вариантов ниже

* Использование "точечной нотации". Например.state('contacts.list', {}).

* Используйте ui-router.stateHelper для создания состояний из вложенного дерева состояний.

* Использование родительского свойства с родительским именем в виде строки. Например: parent: 'contacts'

* Использование родительского свойства с родительским объектом. Например, parent: contacts (где "контакты" - это объект stateObject)

Вы можете искать более подробную информацию в документе здесь

Вы можете регистрировать состояния в любом порядке и через модули. Вы можете зарегистрировать дочерние элементы до того, как существует родительское состояние. Он будет стоять в очереди и после регистрации родительского состояния будет зарегистрирован ребенок.

Родительское состояние должно существовать, и ни одно из двух состояний не может иметь одно и то же имя.

Статусы детей загружают свои шаблоны в их родительский ui-view.

Для получения более подробной информации обратитесь к ссылке для ссылки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню