AngularJSベースのアプリを移行して、組み込みルーティングの代わりにui-routerを使用しています。以下のように構成しました
.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' }
})
});
pageTitle変数を使用してページのタイトルを動的に設定するにはどうすればよいですか?組み込みのルーティングを使用して、私は
$rootScope.$on("$routeChangeSuccess", function(currentRoute, previousRoute){
$rootScope.pageTitle = $route.current.data.pageTitle;
});
次に示すように、変数をHTMLにバインドします
<title ng-bind="$root.pageTitle"></title>
ui-routerを使用してフックできる同様のイベントはありますか?「onEnter」関数と「onExit」関数があることに気づきましたが、これらは各状態に関連付けられているようで、コードを繰り返して各状態の$ rootScope変数を設定する必要があります。