Angular Универсальный SSR не работает с @ angular / fire - PullRequest
0 голосов
/ 13 марта 2020

Я решил работать с библиотекой @ angular / fire

она вообще не отображается в моих html метатегах Открыть график для SEO вы знаете.

эта библиотека @ angular / fire совместим с SSR или каким-либо асинхронным c topi c?

Мой полный TS, которого я жду от помощи:

import { PLATFORM_ID, Component, OnInit, ChangeDetectorRef, Inject } from '@angular/core';
import { AngularFireDatabase } from '@angular/fire/database';
import { ActivatedRoute } from '@angular/router';
import { SEOService } from 'src/app/services/seo.service';
import { isPlatformBrowser } from '@angular/common';

@Component({
  selector: 'app-item',
  templateUrl: './item.component.html',
  styleUrls: ['./item.component.scss']
})
export class ItemComponent implements OnInit {

  loteProducto: any;
  productData: any;
  settings: any;
  imageProduct: any;
  SEO_META: any;
  productVariants: any;
  productDataSEO: any;

  constructor(
  @Inject(PLATFORM_ID) private platform: Object,
  private db: AngularFireDatabase,
  private cd: ChangeDetectorRef,
  private route: ActivatedRoute,
  private SEO: SEOService
  ) { 

    this.settings = {};
    this.productVariants = [];

  }

  ngOnInit() {

    if(isPlatformBrowser(this.platform)) {

      this.db.database.ref("/settings")
      .once("value", settings => {

        this.settings = settings.val();
        this.cd.detectChanges();

      });

    }

    this.route.params.subscribe(params => {

      this.loteProducto = params["idLote"];

      this.imageProduct = this.loteProducto+"_6";

      this.db.database.ref("/productos/")
      .orderByChild("lote")
      .equalTo(this.loteProducto)
      .once("value").then(data => {

        data.forEach(item => {
          this.productDataSEO = item.val();
          this.cd.detectChanges();
        });

        this.SEO_META = {
          "title": this.productDataSEO.descripcion,
          "desc": this.productDataSEO.categoria,
          "image": `https://repo.lovepayless.com/thumbnail-${this.productDataSEO.lote}_6.jpg`,
        }

        this.SEO.setSEO(this.SEO_META);

      });

    });

  }

}

Вы можете видеть, что я звоню в службу SEO с Обновление мета-тегов для OG: протокол открытого графика Facebook и мета-сервис для SEO браузера.

Что я делаю плохо?

...