如何使用Angular Js中的变量更改页面标题?

时间:2017-05-27 13:43:56

标签: javascript angularjs angular-routing

我正在AngularJs中动态更改我的标题,使用以下代码:

app.run(['$rootScope', function($rootScope) {
    $rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
        $rootScope.title = current.$$route.title;
    });
}]);

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/', {
            title: 'My Tagline',
            controller : 'IndexController',
            templateUrl : 'static/app_partials/index.html'
        })
        .when('/categories/:categoryPk/', {
            title: $scope.category.name,
            controller : 'CategoryController',
            templateUrl : 'static/app_partials/category.html'
        })
        .otherwise({ redirectTo : '/' });
}]);

HTML

<title ng-bind="'My Brand - ' + title">My Brand</title>

因此,对于IndexController,标题只是一个简单的字符串,因此这种方法很有效。但是,对于我的CategoryController,我希望从变量生成标题,特别是$scope.category.name,我在控制器代码中初始化。我怎样才能做到这一点?有什么帮助吗?

2 个答案:

答案 0 :(得分:3)

使用ng-bind-template如下:

<title ng-bind-template="My Brand - {{$root.title}}">My Brand</title>

答案 1 :(得分:0)

查看ng-meta在AngularJS单页面应用程序中设置动态元标记