Sto migrando la mia app basata su AngularJS per utilizzare ui-router invece del routing integrato. L'ho configurato come mostrato di seguito
.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' }
})
});
Come posso utilizzare la variabile pageTitle per impostare dinamicamente il titolo della pagina? Usando il routing integrato, potrei farlo
$rootScope.$on("$routeChangeSuccess", function(currentRoute, previousRoute){
$rootScope.pageTitle = $route.current.data.pageTitle;
});
e quindi associare la variabile in HTML come mostrato di seguito
<title ng-bind="$root.pageTitle"></title>
C'è un evento simile a cui posso agganciarmi usando ui-router? Ho notato che ci sono funzioni "onEnter" e "onExit" ma sembrano essere legate a ogni stato e mi richiederanno di ripetere il codice per impostare la variabile $ rootScope per ogni stato.