如何从角度应用程序动态添加/删除/更新元标签

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

下面是代码,

  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是否已创建并相应地更新它们?

wangxuyua 回答:如何从角度应用程序动态添加/删除/更新元标签

这是文档: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,也不需要在客户端更新标签。

本文链接:https://www.f2er.com/3168203.html

大家都在问