页面标题,使用angular-ui-router

时间:2016-12-26 05:40:25

标签: javascript angularjs angular-ui-router

我已尝试/使用了stackoverflow和其他教程上的所有可能的引用,但无法获取页面标题,描述工作。 我的州代码看起来像这样

     $urlRouterProvider.otherwise('/home/welcome');
      $stateProvider
        .state('home', {
          url: "/home",
          abstract: true,
          templateUrl: "views/home_base.html",
          controller : "HomebaseCtrl"
        })

        .state('home.welcome', {
          url: '/welcome',
          templateUrl: 'views/welcome.html',
          controller: 'WelcomeCtrl'
        })

在我的控制器' WelcomeCtrl'文件我想为页面设置页面标题和描述。我使用过rootScope但rootScope值没有绑定在index.html文件中。

在我的index.html文件中

  <html>
  <head>
   <title>{{pagetitle}}</title>
  </head>
  <div ui-view=""></div>

路由home_base.html文件,该文件内容路由welcome.html文件。

控制器

angular.module('ragamixApp')
  .controller('WelcomeCtrl', function($rootScope){
    $rootScope.pagetitle = "Hi..I am Page Title";
   })

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

你试试这个。

如果您查看ui-router示例应用程序,他们会使用angular .run块将$ state变量添加到$ rootScope。

no server running on /private/tmp/tmux-502/default

以相同的方式设置状态:

.run([ '$rootScope', '$state', '$stateParams',
function ($rootScope, $state, $stateParams) {
  $rootScope.$state = $state;
  $rootScope.$stateParams = $stateParams;
}])

HTML

.state('home', {
    url: '/home',
    templateUrl : 'views/home.html',
    data : { pageTitle: 'Home' }
})

答案 1 :(得分:0)

我认为你缺少ng-app指令。
ng-app="ragamixApp"指令放在html标记中。

https://docs.angularjs.org/api/ng/directive/ngApp