chekit
7/5/2016 - 7:14 AM

set <title> with angularJS

set with angularJS

Данное решение необходимо для динамического изменения title страницы по средствам AngularJS

HTML

...
<title ng-bind="'Титул' + title"></title>
<!-- ng-bind вместо {{}} нужен для того, чтобы в title не "мигал" expression-->
...

JS

angular.module('myApp', [])
  .config(['$routeProvider', $routeProvider => {
    $routeProvider
      .when('/', {
        title: 'Тайтл для страницы',
        templateUrl: 'views/index.html',
        controller: 'IndexController',
        controllerAs: 'indexCtrl',
        pageName: 'index'
      })
      .otherwise({
        redirectTo: '/'
      });
  }])
  .run('$rootScope', $rootScope => {
    $rootScope.$on(['$routeChangeSuccess', (evt, curr) => {
      //Так же $rootScope.title можно устанавливать непосредственно из контроллера страницы
      $rootScope.title = curr.$$route.title.length > 0 ? curr.$$route.title : '';
    }]);
  });