Javascript 多条路线共享一个控制器,不同的标题如何?

Javascript 多条路线共享一个控制器,不同的标题如何?,javascript,angularjs,routes,Javascript,Angularjs,Routes,我正在用angularjs编写一个应用程序。 直到今天,应用程序的每一条路线都有自己的控制器和标题,以及prowser使用的类似服务: myApp.factory('PageTitle', function(){ var title = 'Default title'; return { title: function() { return title; }, setTitle: function(newTitle) { title = new

我正在用angularjs编写一个应用程序。 直到今天,应用程序的每一条路线都有自己的控制器和标题,以及prowser使用的类似服务:

  myApp.factory('PageTitle', function(){
     var title = 'Default title';
     return {
       title: function() { return title; },
       setTitle: function(newTitle) { title = newTitle; }
     };
  });
PageTitle.setTitle(TitleVariable);
<title data-ng-bind="PageTitle.title()"></title>
我在控制器中使用的是:

  myApp.factory('PageTitle', function(){
     var title = 'Default title';
     return {
       title: function() { return title; },
       setTitle: function(newTitle) { title = newTitle; }
     };
  });
PageTitle.setTitle(TitleVariable);
<title data-ng-bind="PageTitle.title()"></title>
到目前为止,这一切都很顺利。 正如我所说,我需要重新编写我的应用程序,使所有路线只有一个控制器

因此,我尝试运行一个函数,用当前路由路径查看路由更改,以更新标题(我忘了提到它是一个动态信息,所以我想我无法在路由文件中添加标题变量),但它不起作用

实现这一目标的正确方法是什么

我的看法是:

  myApp.config([
    '$routeProvider',
    '$locationProvider',
    function($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(false).hashPrefix('!'); 


$routeProvider

  // route for the home page
  .when('/', {
    templateUrl : 'views/homepage.html'
  })

  // route for the home page
  .when('/home/:pageSlug/', {
    templateUrl : 'views/homepage.html'
  }) 
等等

我在头文件的index.html文件中调用控制器,如下所示:

<html data-ng-app="myApp" data-ng-controller="appCtrl">

我的标题是这样的:

  myApp.factory('PageTitle', function(){
     var title = 'Default title';
     return {
       title: function() { return title; },
       setTitle: function(newTitle) { title = newTitle; }
     };
  });
PageTitle.setTitle(TitleVariable);
<title data-ng-bind="PageTitle.title()"></title>


请参阅此堆栈溢出帖子:@YashikaGarg我已经读过了,但似乎只有我已经为每个路由使用不同控制器的解决方案。