Je migre mon application basée sur AngularJS pour utiliser ui-router au lieu du routage intégré. Je l'ai configuré comme indiqué ci-dessous
.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url: '/home',
templateUrl : 'views/home.html',
data : { pageTitle: 'Home' }
})
.state('about', {
url: '/about',
templateUrl : 'views/about.html',
data : { pageTitle: 'About' }
})
});
Comment puis-je utiliser la variable pageTitle pour définir dynamiquement le titre de la page? En utilisant le routage intégré, je pourrais faire
$rootScope.$on("$routeChangeSuccess", function(currentRoute, previousRoute){
$rootScope.pageTitle = $route.current.data.pageTitle;
});
puis liez la variable en HTML comme indiqué ci-dessous
<title ng-bind="$root.pageTitle"></title>
Y a-t-il un événement similaire auquel je peux me connecter en utilisant ui-router? J'ai remarqué qu'il existe des fonctions «onEnter» et «onExit», mais elles semblent être liées à chaque état et m'obligeront à répéter le code pour définir la variable $ rootScope pour chaque état.