Я следовал учебному пособию о том, как приготовить сырое блюдо с помощью FireStore, и до сих пор у меня все работало правильно, пока я не получил часть, которую мне нужно было удалить данные из FireStore, каждый раз, когда я щелкаю по нему, чтобы удалить пользователя из моего FireStore я получаю сообщение об ошибке, в котором говорится, что ._co.deleteConsulta не является функцией, даже если она была объявлена внутри моего detailpage.ts и не показывает ошибок, я даже попытался запустить ionic serve --prod, чтобы проверить, что я что-то упустил, нет ошибок вообще.
Для второй части всякий раз, когда я нажимаю удалить, ничего не происходит
ошибки не отображаются вообще.
вот мои детали.тс
import { AlertController } from '@ionic/angular';
import { FirestoreService } from './../../services/data/firestore.service';
import { Consulta } from './../../model/consulta.interface';
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { ActivatedRoute, Router } from '@angular/router';
@Component({
selector: 'app-detail',
templateUrl: './detail.page.html',
styleUrls: ['./detail.page.scss'],
})
export class DetailPage implements OnInit {
public consulta: Observable<Consulta>;
public consultaId;
constructor(private firestoreService: FirestoreService,
private route: ActivatedRoute, private alertController: AlertController, private router: Router) { }
ngOnInit() {
const consultaId: string = this.route.snapshot.paramMap.get('id');
this.consulta = this.firestoreService.getConsultaDetail(consultaId).valueChanges();
}
async deletarConsulta() {
const alert = await this.alertController.create({
message: 'Tem certeza que gostaria de desmarcar sua consulta?',
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: blah => {
console.log('Confirm desmarcação: blah');
},
},
{
text: 'Okay',
handler: () => {
this.firestoreService.deleteConsulta(this.consultaId).then(() => {
this.router.navigateByUrl('');
});
},
},
],
});
await alert.present();
}
}
detail.html
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>{{ (consulta | async)?.unidade }}</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h3> Unidade </h3>
<p>
Médico{{ (consulta | async)?.medNome }}
</p>
<p> Especialidade{{ (consulta | async)?.especialidade }}</p>
<p> Endereço{{ (consulta | async)?.endereco }}</p>
<p> Data da Consulta {{ (consulta | async)?.data }}</p>
<p> Hora da Consulta {{ (consulta | async)?.hora }}</p>
<ion-button expand="block" (click)="deletarConsulta()">
Desmarcar Consulta
</ion-button>
</ion-content>