Угловые проблемы универсальных метаданных - PullRequest
0 голосов
/ 11 декабря 2018

У меня проблема с обновлением тегов метаданных в 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 });
}

На моей странице индекса уже есть другие метатеги.На моем домашнем экране, в методе 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
  });
}

Если я проверяю свой документ, я вижу правильные метаданные.Но если я просматриваю источник, это не правильно.Это должно быть в определенном месте, чтобы это работало?

...