错误类型错误:_co.deleteConsulta 不是函数

Posted

技术标签:

【中文标题】错误类型错误:_co.deleteConsulta 不是函数【英文标题】:ERROR TypeError: _co.deleteConsulta is not a function 【发布时间】:2019-02-14 05:09:21 【问题描述】:

我正在关注如何使用 firestore 制作 crud 的教程,到目前为止,我一切正常,直到我得到必须从 firestore 删除数据的部分,每次我单击它以从我的 firestore 中删除用户我收到错误消息说 ._co.deleteConsulta 不是一个函数,即使它是在我的 detailpage.ts 中声明的,并且它没有显示任何错误,我什至尝试运行 ionic serve --prod 以查看我是否缺少任何东西,没有任何错误。

对于第二部分,每当我单击删除时,什么都没有发生 根本没有显示任何错误。

这是我的详细信息.ts

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>

【问题讨论】:

【参考方案1】:

问题是您没有编写函数deleteConsulta() 或者firestoreService 文件代码中缺少它。此外,您可以尝试在构造函数声明中将访问权限从“私有”更改为“公共”...

【讨论】:

以上是关于错误类型错误:_co.deleteConsulta 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

Angular 4 - 错误类型错误,错误上下文 DebugContext_

错误类型错误:this._document.createElement 不是函数角度

创建Salesforce自定义公式字段 - (错误参数类型错误)

为啥我的代码出现类型错误?

Angular - 错误类型错误:_co.timeIn 不是函数

颤振错误:类型“_Uri”不是“字符串”类型的子类型