角度 - 在标题

时间:2017-02-13 14:45:43

标签: angularjs

如何在标题中使用我的角度路线中的可选参数。

所以我希望textToSearch出现在标题中:

.when('/search/:textToSearch',
    {
      title: 'Searching' + textToSearch,
      templateUrl: 'views/search.html',
      controller: 'searchController'
    }
  )

我在routeChangeSuccess中设置标题:

$rootScope.$on('$routeChangeSuccess', function() {
          //Set the <title> tag
          if (!$route.current.title) {
            document.title = 'Default Generic Title';
          } else {
            document.title = $route.current.title;
          }
}

1 个答案:

答案 0 :(得分:1)

我会在标题字符串中使用占位符作为路径参数,并将其插入路径参数对象:

.when('/search/:textToSearch', {
  title: 'Searching {{ textToSearch }}',
  templateUrl: 'views/search.html',
  controller: 'searchController'
})

插值部分(确保注入$interpolate服务):

$rootScope.$on('$routeChangeSuccess', function() {
  //Set the <title> tag
  if (!$route.current.title) {
    document.title = 'Default Generic Title';
  } else {
    document.title = $interpolate($route.current.title)($route.current.params);
  }
})