14
使用UI-Router设置页面标题
我正在迁移基于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变量。