У меня проблема с обновлением тегов метаданных в 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
});
}
Если я проверяю свой документ, я вижу правильные метаданные.Но если я просматриваю источник, это не правильно.Это должно быть в определенном месте, чтобы это работало?