【问题标题】:How to dynamically set an Angular JS page's Title?如何动态设置 Angular JS 页面的标题?
【发布时间】:2017-10-19 00:41:53
【问题描述】:

我有一个正在运行的单页 AngularJS Web 应用程序。为了管理我的路线,我使用ui.router。这是我的启动画面的状态:

  $stateProvider.state('splash',
      {
          url: '/',
          templateUrl: 'html/splash.html',
          controller: 'SplashCtrl',
          data: {
              meta: {
                'title': 'Splash Screen'
              }
          }
      }
  );

您是否注意到此状态包含一个data.meta 对象?那是因为我使用ngMeta 来填充页面的<title></title> 标记。一切正常。

但是,我希望标题是动态的,而不是静态的。我想在SplashCtrl 中设置/调整它。但我不知道该怎么做。有人可以给我看吗?在 HTML 模板中,我这样称呼它:<title>{{ngMeta.title}}</title>

【问题讨论】:

    标签: javascript angularjs meta-tags


    【解决方案1】:

    您可以在控制器中注入 ng-meta,然后动态设置元标记,如下所示

    app.controller('YourController',["$scope", "ngMeta",function ($scope,ngMeta) {
        ngMeta.setTitle('Home page');
        ngMeta.setTag('description', 'This is the home page');
        ngMeta.setTag('keywords', 'angular,stack,nodejs');
        ngMeta.setTag('author', 'Tony ');
    }]);
    

    【讨论】:

    • 你能告诉我如何从控制器进行这种注入吗?
    • @AmadouBeye 你错过了一个右方括号...... :)
    • @SaqibAli 更新了!如果它对您有用,请不要忘记接受此答案;)
    猜你喜欢
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 2022-10-06
    • 2016-07-08
    • 2014-08-16
    • 2023-03-05
    • 2020-11-01
    • 1970-01-01
    相关资源
    最近更新 更多