如何在一个控制器中更改AngularJS路由中页面的URL?

时间:2017-03-17 12:37:30

标签: angularjs angular-routing

这是路由配置:

title

在页面之间导航title未设置时,我已经阅读了有关此问题的一些SO线程,但大多数人认为我的每个页面都有一个控制器。那么我怎样才能在when函数中获得{{1}}属性?

1 个答案:

答案 0 :(得分:1)

我这样做非常简单。在路线配置中,您可以定义标题:

.when('/dashboard', {
  title : 'My Dashboard',
  templateUrl : 'templates/sections/app-dashboard.html',
  controller  : 'DashboardController'
})

然后你听$ routeChangeSuccess事件并只设置document.title。在应用程序运行块(最好的地方)。

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

这种方法的好处是它可以让你避免再绑定一个ng-bind =" title"。