javascript - 在 Ionic 5 中,如何将 firestore 文档显示到 ionic(html) 屏幕
问题描述
我已经从 Firestore 中检索了文档,但我不知道如何在离子屏幕上显示该数组。我试过下面的代码。
详细页面.ts
import { Component, OnInit } from '@angular/core';
import { FirestoreService } from '../../services/data/firestore.service';
import * as firebase from 'firebase';
import { from } from 'rxjs';
import { firebaseConfig } from '../../credentials';
@Component({
selector: 'app-detail',
templateUrl: './detail.page.html',
styleUrls: ['./detail.page.scss'],
})
export class DetailPage implements OnInit {
constructor(public firestoreService: FirestoreService, ) { }
// tslint:disable-next-line: member-ordering
detail: any;
ngOnInit() {
}
async showData() {
const db = firebase.firestore();
const docRef = db.collection('srv').doc('Selected Items');
// tslint:disable-next-line:member-ordering
docRef.get().then((doc) => {
const details = doc.data();
if (doc.exists) {
console.log('Document data:', doc.data());
this.detail = details;
console.log('document2', this.detail);
} else {
// doc.data() will be undefined in this case
console.log('No such document!');
}
}).catch((error) => {
console.log('Error getting document:', error);
});
}
}
detail.page.html
<ion-header>
<ion-toolbar>
<ion-title>detail</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-label><h1>Order page</h1></ion-label><ion-button (click)="showData()">check</ion-button><br><br>
<ion-list><ion-item *ngFor="let da of detail['n']">
<p>{{da.name}}</p>
</ion-item></ion-list>
</ion-content>
但是,它没有在 Ionic 屏幕上显示任何内容并且低于错误
欢迎,如果有人可以提供解决方案。
解决方案
在 Mostafa Harb 先生的帮助下,我已经解决了这个错误。在这里,我之前所做的只是更改了detail.page.ts页面。下面给出
import { Component, OnInit } from '@angular/core';
import { FirestoreService } from '../../services/data/firestore.service';
import * as firebase from 'firebase';
import { from } from 'rxjs';
import { firebaseConfig } from '../../credentials';
@Component({
selector: 'app-detail',
templateUrl: './detail.page.html',
styleUrls: ['./detail.page.scss'],
})
export class DetailPage implements OnInit {
constructor(public firestoreService: FirestoreService, ) { }
// tslint:disable-next-line: member-ordering
detail: any;
detail1: any;
ngOnInit() {
}
async showData() {
const db = firebase.firestore();
const docRef = db.collection('srv').doc('Selected Items');
// tslint:disable-next-line:member-ordering
docRef.get().then((doc) => {
const details = doc.data();
if (doc.exists) {
console.log('Document data:', doc.data());
this.detail = details;
console.log('document2', this.detail);
this.detail1 =this.detail['n'];
console.log('document3', this.detail['n']);
} else {
// doc.data() will be undefined in this case
console.log('No such document!');
}
}).catch((error) => {
console.log('Error getting document:', error);
});
}
}
现在,它对我来说很好。
推荐阅读
- python - 在类之间共享熊猫数据框
- c - OpenMP 默认将所有静态变量视为线程私有
- macos - `objcopy -O 二进制的等价物
.bin` 用于 macOS 上的 Mach-O 对象文件? - greenplum - 运行 gpccinstall 时安装 greenplum 命令中心失败
- c++ - 如何迭代一个int数组?
- binary - 无法让 selenium webdriver 在 azure databricks 中工作
- javascript - 如何以一种好的方式在 JavaScript 中打印空心倒星图案?
- kubernetes - Kubernetes 仪表板不可用
- vue.js - vuejs SPA 应用程序和预渲染指南(+ 站点地图)
- android - 小吃店的自定义幻灯片动画