当前位置: 首页 > 面试题库 >

头部中的Angular Dynamic meta标签

百里星纬
2023-03-14
问题内容

我需要在有角度的应用程序的特定页面上插入开放图元标记。

这些标签根据页面上的新闻或视频而有所不同。

我尝试将变量添加到$ rootscope。相关变量将使用meta标记填充。

现在这是我的问题。只要用HTML字符串填充此变量,它们就不会形成头部的一部分,而是输出到主体。我搜寻了一天,找不到任何可行的解决方案。任何帮助,将不胜感激


问题答案:

我创建了一个Angular模块,该模块可用于使用$routeProvider路由定义动态设置元标记。

angular.module('YourApp','ngMeta')
.config(function ($routeProvider, ngMetaProvider) {

  $routeProvider
  .when('/home', {
    templateUrl: 'home-template.html',
    meta: {
      //Sets 'Home Page' as the title when /home is open
      title: 'Home page', 
      description: 'This is the description of the home page!'
    }
  })
  .when('/login', {
    templateUrl: 'login-template.html',
    meta: {
      //Sets 'Login Page' as the title when /login is open
      title: 'Login page',
      description: 'Login to this wonderful website!'
    }
  })
});

然后,您可以像这样在HTML中设置元标记

<title ng-bind="ngMeta.title"></title>
<!-- OR <title>{{ngMeta.title}}</title> -->

<!-- This meta tag can be set using ngMetaProvider -->
<meta property="og:type" content="{{ngMeta.ogType}}" />

<!-- Default locale is en_US -->
<meta property="og:locale" content="{{ngMeta.ogLocale}}" />

<!-- This meta tag changes based on the meta object of each route -->
<!-- or when the setDescription function is called -->
<meta name="description" content="{{ngMeta.description}}" />

要动态设置标题,描述和og:image,可以注入ngMeta到控制器中

.controller('DemoCtrl', function(ngMeta) {

    ngMeta.setTitle('Demo page');
    ngMeta.setDescription('This is the description of the demo page');
    ngMeta.setOgImgUrl('http://example.com/abc.jpg');
});

支持更多标签和ui路由器的工作正在进行中。



 类似资料:
  • 问题内容: 我想为每个部分自定义标题。到目前为止,我已经实施了 这种方法。我想做的是获取每个部分的当前标题,然后将其添加为子视图。 到目前为止,我还无法完成。因为,我找不到任何东西来获取默认节头。第一个问题, 有什么方法可以获取默认节头 ? 如果不可能,那么我需要创建一个容器视图,但这一次,我需要设置默认的背景颜色,阴影颜色等。因为,如果仔细看一下该节的标题,它已经被自定义了。 如何获取每个节标题

  • 问题内容: 假设我在Go中有一个中间件,我想用自己的值覆盖任何现有的标头。 然后我将其添加到这样的响应链中 不幸的是,如果authHandler或由DefaultServeMux调用处理的任何事情(例如,httputil.ReverseProxy.ServeHTTP),我最终在响应中会有两个Server标头。 我真正想要的是这样的: 但是,ServeHTTP的语义不允许这样做: ServeHTTP

  • 问题内容: 我正在使用MIMEText在Python 3.2中从头开始创建电子邮件,但在创建主题中包含非ASCII字符的消息时遇到了麻烦。 例如 最后一行给我错误 如何告诉MIMEText主题不是ascii?根本没有帮助,无论如何,我已经看到人们使用unicode字符串,而其他答案没有问题(例如,参见Python- 如何发送utf-8电子邮件? ) 编辑:我想补充一下,相同的代码在Python 2

  • 我有两个钥匙扣客户, Angular 4:具有访问类型凭据身份验证 一个JAX-RS应用程序(它将是资源服务器):具有仅承载身份验证!在这个客户端中,我们激活CORS,如下面的json所示 问题是,JAX-RS应用程序的状态代码为401(未授权)的HTTP响应没有给javascript客户端带来所需的CORS报头! 当HTTP状态为401时,我们如何添加相应的CORS标头?

  • 我们什么时候应该在HttpRequest estMessage对象中使用标头而不是HttpClient中的标头?? 我们需要添加授权(总是在变化)和一些自定义标头(总是在变化) 问题 > 首选哪种方法 我是否应该向HttpClient添加公共头(所有请求都相同),并向HttpRequestMessage对象添加基于请求的头??

  • 如何在nodejs中发送文件,我正在创建一个页面应用程序,所以我只想abcd.html页面首次按要求交付,这是我的代码 app.js 对页面的响应 发送后,它总是给出无法设置的标题,下面是控制台输出 错误:SendStream禁止。SendStream出错(/home/pitu/CODING/NODE-PROJECTS/chichat/NODE\u modules/express/NODE\u m