繁体   English   中英

如何从 angular 应用程序动态添加/删除/更新元标记

[英]How to add/remove/update meta tags from angular app dynamically

我创建了一个MetaService ,它将通过获取 API 创建所有元标记。

下面是代码,

  public addMetaTags(seoData): void {
    this.meta.addTag({ name: 'description', content: 'example description' });
    this.meta.addTag({ property: 'og:title', content: 'example title' });
    this.meta.addTag({ property: 'og:description', content: 'example og:description' });
    this.meta.addTag({ property: 'og:site_name', content: 'example og:site_name' });
  }

但问题是,当我从页面 A 导航到页面 B 时。已创建的标签未清除。

如何检查 MetaTag 是否已经创建并相应地更新它们?

这是文档: https://angular.io/api/platform-browser/Meta

你可以调用this.meta.getTag(key)来检查。

你可以这样做来更新:

this.meta.updateTag({ itemprop: 'name', content: subject });
this.meta.updateTag({ itemprop: 'description', content: desc });
this.meta.updateTag({ name: 'twitter:title', content: subject });
this.meta.updateTag({ name: 'twitter:description', content: desc });
this.meta.updateTag({ property: 'og:title', content: subject });
this.meta.updateTag({ property: 'og:description', content: desc });

如果您的应用应用了 SSR 功能,您可能不需要 updateTag,也不需要在客户端更新标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM