Я хотел бы установить заголовок на основе состояния в моем угловом приложении. Он работает хорошо, но если в дочернем состоянии нет названия, я хотел бы вернуться к свойству title родителя.UI-маршрутизатор, получающий доступ к родительскому состоянию от дочернего
Это то, что я до сих пор:
В моем блоке приложение запуска:
...
$rootScope.$on('$stateChangeSuccess', function (event, current, previous) {
if (current.hasOwnProperty('title')) {
$rootScope.title = current.title;
}
});
...
В пути моего модуля
.state('main.parent', {
url: '/parent',
controller: 'ParentController',
controllerAs: 'vm',
templateUrl: 'app/parent.html',
title: 'Parent',
})
.state('main.parent.child', {
url: '/child',
controller: 'ChildController',
controllerAs: 'vm',
templateUrl: 'app/child.html'
})
Во время проверки кода, я что $stateChangeSuccess
запускается дважды, как ожидалось, сначала для родителя, а затем для ребенок. Я пытался получить доступ к current.parent
, когда ребенок был вызван, но у него нет такого свойства. Есть ли способ получить к нему доступ?
UPDATE
Я видел эти вопросы: get parent state from ui-router $stateChangeStart, get parent state from ui-router $stateChangeStart Но ни один из них не имел четкого ответа на этот вопрос (за исключением государственного расщепления хака в последнем одном, но я предпочел бы избежать этого).
проверить с помощью $ state. $ Current.parent! –