使用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变量。


catspeake
浏览 708回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS