Angular Universal元数据问题

时间:2018-12-11 14:57:38

标签: angular angular-universal

我在Angular Universal中更新元数据标签时遇到问题。 我似乎找不到任何文档可以为我澄清这一点。 我有这种方法:

private setTitleAndMetadata() {
  console.log(this.category);
  let title = 'Pick your best ' + this.category;
  let description = 'Pick your best ' + this.category + ' in less than a minute.';

  this.title.setTitle(title);
  this.meta.addTag({ name: 'description', content: description });

  this.meta.addTag({ name: 'og:title', content: title});
  this.meta.addTag({ name: 'og:description', content: description });

  this.meta.addTag({ name: 'twitter:title', content: title });
  this.meta.addTag({ name: 'twitter:description', content: description });
}

我的索引页面上已经有其他meta标签。 在主视图中,使用 ngOnInit 方法的位置是我的 setTitleAndMetadata ,如下所示:

ngOnInit() {
  this.setTitleAndMetadata();
}

使用Facebook共享调试器时:

https://developers.facebook.com/tools/debug/sharing/

我可以看到我的元数据很好。但是,在下一页,我将 setTitleAndMetadata 放在 ngAfterViewInit 中,因为我需要一些信息,看起来像这样:

ngAfterViewInit() {
  this.routeSubscription = this.route.paramMap.subscribe(paramMap => {
    this.path = paramMap.get('path');
    this.categoryId = paramMap.get('category');
    this.singularize();
    this.setTitleAndMetadata(); // Has to be here to singularize the category
  });
}

如果检查文档,则可以看到正确的元数据。但是,如果我查看源代码,那是不正确的。要在特定位置工作才能正常工作吗?

0 个答案:

没有答案