angular - Ionic 3 angular 5 - 无法解析 "page"的所有参数

标签 angular typescript ionic-framework angular5

出现错误“无法解析主页的所有参数:([object Object], ?, [object Object], [object Object])”。我正在尝试使用 angularfire 访问我的数据库 - 用户在登录时通过 toastcontroller 消息发送电子邮件。函数名称:“IonViewWillLoad()”

所有项目:https://github.com/AndriusdevLa/test

那是我的主页:

import { Component } from '@angular/core';
import { NavController, ModalController } from 'ionic-angular';
import { DetailPage } from '../detail/detail';
import { ToastController } from 'toast-controller';
import { AngularFireAuth } from "angularfire2/auth";
import { User } from '../../app/modals/user';
@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
//public shouldReorder = false;
  user = {} as User;

  constructor(private aFAuth: AngularFireAuth,
              private toastCtrl = ToastController,
    public navCtrl: NavController,
              public modalCtrl: ModalController)
  {
    //this.service.getPeople().subscribe( data => {
  //    this.people = data.results
  //  });


  }


  ionViewWillLoad(){
    this.aFAuth.authState.subscribe(data => {
      if(data.email && data.uid) {
        let toast = this.toastCtrl.create({
          message: 'User was added successfully',
          duration: 3000,
          position: 'top'
        });

        toast.onDidDismiss(() => {
          console.log('Dismissed toast');
        });
        toast.present();
      }

      else {
        let toast = this.toastCtrl.create({
          message: 'User not found',
          duration: 3000,
          position: 'top'
        });
        toast.present();
      }
    });
  }
}

我不明白那个错误是什么,也许有人可以告诉我吗? IDE 中没有更多错误,只有浏览器中有这个错误(ionic serve)。

App.module.ts :

import { BrowserModule } from '@angular/platform-browser';
import { HttpClient, HttpClientModule } from "@angular/common/http";
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { DetailPage } from '../pages/detail/detail';
import { StartPage } from '../pages/start/start';
import { AngularFireModule } from "angularfire2";
import { FIREBASE_CONFIG } from "./app.firebase.config";
import { LoginPage } from "../pages/login/login";
import { AngularFireAuthModule } from "angularfire2/auth";


@NgModule({
  declarations: [
    MyApp,
    StartPage,
    HomePage,
    DetailPage,
    LoginPage,


  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    IonicModule.forRoot(MyApp),
    AngularFireModule.initializeApp(FIREBASE_CONFIG),
    AngularFireAuthModule
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    StartPage,
    HomePage,
    DetailPage,
    LoginPage,
  ],
  providers: [
    HttpClient,
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler},

  ]
})
export class AppModule {}

用户.ts :

export interface User {
  email: string;
  password: string;

}

编辑:

当我从我的构造函数中删除 - public navCtrl: NavController(它没有被使用,错误变得更小,但有点不同 = ?):

无法解析主页的所有参数:([object Object], ?, [object Object])

最佳答案

错误是因为 Angular 无法访问 HomePage 所需的所有参数。在您的构造函数中,您声明了四个参数,angular 无法访问除 ToastController 之外的所有内容。这就是为什么您的错误消息中的参数是一个问号。

您必须从 ionic-angular 正确导入 ToastController,现在您是从 'toast-controller' 导入它,除非您有那个位置的东西你需要删除线

import { ToastController } from 'toast-controller';

然后从 ionic-angular 库中正确导入 ToastController。像这样(更改代码的第二行)

import { NavController, ModalController, ToastController } from 'ionic-angular';

关于angular - Ionic 3 angular 5 - 无法解析 "page"的所有参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48832015/

相关文章:

html - 在组件中引用 ngFor 值

angular - 如何在 Angular 2 中自定义 Froala?

angular - 如何将输入值传递给父组件

javascript - Angular 滤波器在移动设备上的性能限制

javascript - 如何在 ionic 应用中添加旋转器?

android - 冷启动直接弹出状态

angular - ngx-image-zoom 设置最大宽度和高度

javascript - 使用 ng-container 和 ng-template 时动态表单不起作用

javascript - 在 TypeScript 中,如何在本地更改全局变量的值?

javascript - 如何使用流作为 Browserify 的输入?