我在Facebook和Twitter上使用了自己的元标签,但不知怎么的,我已经把它们弄坏了。我看过例子,但我看不出问题所在。(没有错误。)标记与index.html中的缺省值没有变化。我用的是角通用5。
与我发现的例子不同,我没有在构造函数中编写标记。不确定这是否是一个因素。我一定是错过了使用Meta服务的一些规则。这是密码..。
import { Meta } from '@angular/platform-browser';
...
constructor( ... private metaService: Meta ... ) {}
ngOnInit () {
...
// <!-- Facebook meta data -->
this.metaService.addTags([
{property: 'og:title', content: 'test' },
{property: 'og:url', content: 'url' },
]);
// <!-- Twitter meta data -->
this.metaService.addTag({name: 'twitter:title', content: 'test });
...
}发布于 2018-04-04 07:08:19
如果标记已经存在,则需要使用updateTag而不是addTag。
查看源代码,如果元标记已经存在于dom中(如在addTag中),则不会添加元标记。
https://github.com/angular/angular/blob/master/packages/platform-browser/src/browser/meta.ts
注意到 updateTag确实将元添加到dom中,如果它不存在的话。
发布于 2018-04-03 20:59:37
正如@David建议的那样,从addTag (和addTags)切换到updateTag解决了这个问题。
https://stackoverflow.com/questions/49623950
复制相似问题