Я решил работать с библиотекой @ 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 браузера.
Что я делаю плохо?