Предисловие
Щелчок по ссылкам ui-sref не обновляет контроллер именованных представлений.
Вопрос
Как обновить WeeklyCtrl
при нажатии на ui-sref="root.store.page.ad({ adSlug: promo.code })"
из SidePanelCtrl
обратите внимание на перезагрузку страницы. Я вижу, как мигает значок значка, но нет повторной инициализации каких-либо контроллеров routes.js
$stateProvider
.state('root', {
url: '/',
abstract: true,
views: {
'': {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
}
}
})
.state('root.store', {
url: ':storeSlug',
views: {
'sidepanel': {
templateUrl: 'views/partials/side-panel.html',
controller: 'SidePanelCtrl'
},
'weekly': {
templateUrl: 'views/partials/weekly.html',
controller: 'WeeklyCtrl'
},
}
})
.state('root.store.page', {
url: '/page',
})
.state('root.store.page.ad', {
url: '/:adSlug',
})
index.html
<div ui-view=""></div>
main.html
<div ui-view="weekly"></div>
<div ui-view="sidepanel"></div>
боковая панель.html
<a ng-repeat="promo in promos" ui-sref="root.store.page.ad({ adSlug: promo.code })" >
<h3>...</h3>
</a>
Когда WeeklyCtrl
инициализируется, он запускает вызов API для запуска.
Pages.details.getPages($scope).success(function(data){
console.log(data);
});
В конце концов, я хочу, чтобы это срабатывало снова, когда я переключаюсь между промо.
ОБНОВЛЕНИЕ:
При нажатии на ссылку: API отвечает 3 раза. контроллер повторно инициализируется несколько раз