Я работаю над ионным 4 Crud и в моем create.page.ts
я проверяю формы, однако я пытался использовать асинхронный метод и жду использования this.loading.ctrl
, но я получаю эту ошибку, описанную назаглавие.
Также, когда я пытаюсь обработать его возвращение, я также получаю сообщение об ошибке this.router.navigateByUrl('');
Если не совсем ясно, что здесь происходит, вот мои create.page.ts
:
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { LoadingController, AlertController } from '@ionic/angular';
import { FirestoreService } from '../../services/data/firestore.service';
@Component({
selector: 'app-create',
templateUrl: './create.page.html',
styleUrls: ['./create.page.scss'],
})
export class CreatePage implements OnInit {
public createConsultaForm: FormGroup;
constructor(
public firestoreService: FirestoreService, formBuilder: FormBuilder,
loadingCtrl: LoadingController, alertCtrl: AlertController
) {
this.createConsultaForm = formBuilder.group({
id: ['', Validators.required],
unidade: ['', Validators.required],
medNome: ['', Validators.required],
especialidade: ['', Validators.required],
endereco: ['', Validators.required],
data: ['', Validators.required],
hora: ['', Validators.required],
});
}
ngOnInit() {
}
async createConsulta() {
const loading = await this.loadingCtrl.create();
const id = this.createConsultaForm.value.id;
const unidade = this.createConsultaForm.value.unidade;
const medNome = this.createConsultaForm.value.medNome;
const especialidade = this.createConsultaForm.value.especialidade;
const endereco = this.createConsultaForm.value.endereco;
const data = this.createConsultaForm.value.data;
const hora = this.createConsultaForm.value.hora;
this.firestoreService
.createConsulta(unidade, especialidade, medNome, endereco, data, hora)
.then(
() => {
loading.dismiss().then(() => {
this.router.navigateByUrl('');
});
},
error => {
console.error(error);
}
);
return await loading.present();
}
}
В этой строке:
const loading = await this.loadingCtrl.create();
Я получаю:
Свойство loadingCtrl не существует для типа CreatePage
и дляэта строка:
this.router.navigateByUrl('');
Я получаю
Свойство 'router' не существует для типа 'CreatePage'