Angular 未捕获类型错误:无法读取属性';id';制作将图像上载到firebase的程序时未定义的

Angular 未捕获类型错误:无法读取属性';id';制作将图像上载到firebase的程序时未定义的,angular,typescript,firebase,ionic-framework,angularfire2,Angular,Typescript,Firebase,Ionic Framework,Angularfire2,我正在做一个简单的程序来上传图像和文件到firebase云。我还是一个网络应用的新手,所以我不明白错误是由什么引起的。保存时,代码中没有错误。但是,当我编译它时,页面不会加载,并且在控制台中给我一个错误: core.js:24134未捕获类型错误:无法读取未定义的属性“id” 在registerNgModuleType(core.js:24134)上 在core.js:24145 在Array.forEach()处 在registerNgModuleType(core.js:24145)上 在新

我正在做一个简单的程序来上传图像和文件到firebase云。我还是一个网络应用的新手,所以我不明白错误是由什么引起的。保存时,代码中没有错误。但是,当我编译它时,页面不会加载,并且在控制台中给我一个错误:

core.js:24134未捕获类型错误:无法读取未定义的属性“id”

在registerNgModuleType(core.js:24134)上

在core.js:24145

在Array.forEach()处

在registerNgModuleType(core.js:24145)上

在新的NgModuleFactory$1(core.js:24242)

在compileNgModuleFactory\uuuuuuuuuuuuuuuuuuuuuuuuuuuu3(core.js:27786)

在PlatformRef.bootstrapModule(core.js:28024)

at模块../src/main.ts(main.ts:11)

网页上需要(引导:84)

对象0处(main.ts:12)

我不擅长调试这些东西,所以非常感谢大家的帮助


    //HTML: 
    
    <div class="choose_file">
         <span><ion-icon name="cloud-upload-outline"></ion-icon>Upload</span>
         <input name="Select File" type="file" (change)='uploadFile($event)'/>
    </div>
    
    //Typescript:
    
    import { Component } from '@angular/core';
    import { AngularFireStorage } from '@angular/fire/storage';
    
    @Component({
      selector: 'app-tab1',
      templateUrl: 'tab1.page.html',
      styleUrls: ['tab1.page.scss']
    })
    export class Tab1Page {
    
      constructor( private storage: AngularFireStorage) {}
    
        uploadFile(event) {
          const file = event.target.files[0];
          var filePath = "test-image";
    
          const fileRef = this.storage.ref(filePath);
          var task = fileRef.put(file);
        }
      }
    
    //App Routing Module TS:
    
    import { NgModule } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { environment } from 'src/environments/environment';
    import { RouteReuseStrategy } from '@angular/router';
    
    import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
    import { SplashScreen } from '@ionic-native/splash-screen/ngx';
    import { StatusBar } from '@ionic-native/status-bar/ngx';
    
    import { AppRoutingModule } from './app-routing.module';
    import { AppComponent } from './app.component';
    
    import { AngularFireModule } from '@angular/fire';
    import { AngularFireAuthModule } from '@angular/fire/auth';
    import { AngularFirestoreModule } from '@angular/fire/firestore';
    import { AngularFireStorage } from '@angular/fire/storage';
    import {HttpClientModule} from "@angular/common/http";
    
    @NgModule({
      declarations: [AppComponent],
      entryComponents: [],
      imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, AngularFireModule.initializeApp(environment.firebaseConfig),
        AngularFireAuthModule,
        AngularFirestoreModule,
        HttpClientModule,
        AngularFireStorage
      ],
      providers: [
        StatusBar,
        SplashScreen,
        { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },],
      bootstrap: [AppComponent]
    })
    export class AppModule {}


//HTML:
上传
//打字稿:
从'@angular/core'导入{Component};
从'@angular/fire/storage'导入{AngularFireStorage};
@组成部分({
选择器:“app-tab1”,
templateUrl:'tab1.page.html',
样式URL:['tab1.page.scss']
})
导出类选项卡1页{
构造函数(专用存储:AngularFireStorage){}
上载文件(事件){
const file=event.target.files[0];
var filePath=“测试图像”;
const fileRef=this.storage.ref(文件路径);
var task=fileRef.put(文件);
}
}
//应用程序路由模块TS:
从“@angular/core”导入{NgModule};
从“@angular/platform browser”导入{BrowserModule};
从'src/environments/environment'导入{environment};
从'@angular/router'导入{RouterUseStrategy};
从'@ionic/angular'导入{IonicModule,IonicRouteStrategy};
从'@ionic native/SplashScreen/ngx'导入{SplashScreen};
从'@ionic native/status bar/ngx'导入{StatusBar};
从“./app routing.module”导入{AppRoutingModule};
从“./app.component”导入{AppComponent};
从'@angular/fire'导入{AngularFireModule};
从'@angular/fire/auth'导入{angularfireauthmodel};
从'@angular/fire/firestore'导入{AngularFirestoreModule};
从'@angular/fire/storage'导入{AngularFireStorage};
从“@angular/common/http”导入{HttpClientModule};
@NGD模块({
声明:[AppComponent],
入口组件:[],
导入:[BrowserModule,IonicModule.forRoot(),AppRoutingModule,AngularFireModule.initializeApp(environment.firebaseConfig),
Angular模块,
AngularFirestoreModule,
HttpClientModule,
角形蓄水池
],
供应商:[
状态栏,
飞溅屏幕,
{提供:RouterUseStrategy,useClass:IonicRouteStrategy},],
引导:[AppComponent]
})
导出类AppModule{}

此代码中没有任何内容试图访问任何内容的“id”属性。你能给我们看更多的代码吗?此错误将与任何试图访问某物['id']或某物.id的对象相关,因此请在代码中查找发生此错误的位置。调试对编程至关重要!您需要查看在运行
ionic-serve
之后,您的开发环境中是否会出现此错误,以便您的typescript源代码映射将您指向抛出错误的代码的正确行。您提供的代码没有向我们显示任何有用的内容。@Steve我使用的是firebase应用程序ID,可能与此有关吗?可能。我能给你的最好建议是,你需要寻找一个你正在循环的数组。在该数组中,您正在访问未定义的对象的id。没有相关的代码,我不能再做了。