Angular服务器端渲染-不渲染Meta标签

时间:2019-03-27 09:06:40

标签: angular serverside-rendering angular-universal

我已使用Angular中的服务器端渲染使我的网站SEO友好。

因此,我已经根据API中收到的数据动态添加了元标记。

问题是,当我从浏览器中看到查看页面源时,未显示元标记。但是,当我将meta标签保持静态时,它就会显示在查看页面源文件上。下面是我的代码。

  

代码:

import { Meta } from '@angular/platform-browser';       

  ngOnInit() {
    this.getAll()
    .subscribe(res => {
      this.meta.addTag({ name: 'description', content: res.aboutUs }, true);
      this.meta.addTag({ name: 'keyword', content: res.keywords }, true);
      this.meta.addTag({ name: 'title', content: `${res.storeName} Shop` }, true);    
      this.meta.addTag({ name: 'google-site-verification', content: res.googleCode }, true);
    }, error => {
         // handle error here..
    });
  }

  getAll(): Observable<any> {
    return this.http.
    get(`https://api.com/someapi`).pipe(
      map(res => {
        return res;
      })
    );
  }

0 个答案:

没有答案