添加/更新不在angular5中工作的元标记

kam*_*lav 16 javascript angular angular5

我使用下面的代码在angular5中运行时添加或更新元标记

import { Title ,Meta} from '@angular/platform-browser'; 
constructor( private meta:Meta)
 {
 this.meta.addTags([
            {name: 'description', content: 'How to use Angular 4 meta 
       service'},
            {name: 'author', content: 'talkingdotnet'},
            {name: 'keywords', content: 'Angular, Meta Service'}
          ]);
this.meta.updateTag({ name: 'description', content: 'Angular 4 meta service' 
 });
  }
Run Code Online (Sandbox Code Playgroud)

在appmodule中导入的元服务

但它不起作用(不在我的页面源中).任何人都可以帮助我

谢谢

Viv*_*shi 16

你需要改变:

this.meta.updateTag({ content: 'Angular 4 meta service'} , 'name="description"' );
Run Code Online (Sandbox Code Playgroud)

工作演示(而不是通过检查元素查看页面源检查)原因解释如下

您的方法也可以100%正常工作,您可以在我给出的演示中查看.


Angular不是从服务器端提供的,这就是为什么你可以通过页面查看源看到任何元标记的原因,页面加载后正在更改的任何内容都不会在页面视图源中显示

如果要检查更新的元标记,则需要检查元素并检查其中

如果你想要服务器端渲染,那么你可以去Angular Universal

  • 您能否解释一下为什么在查看页面源代码时看不到 (2认同)