angular - ข้อผิดพลาด Error: ถูกจับไม่ได้ (ในคำสัญญา): NullInjectorError: R3InjectorError(NewFlavorPageModule)
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันไปที่หน้านี้โดยใช้ routerLink
ข้อผิดพลาด Error: Uncaught (in promise): NullInjectorError: R3InjectorError(NewFlavorPageModule)[[object Object] -> [object Object] -> [object Object] -> [object Object]]: NullInjectorError: ไม่มีผู้ให้บริการสำหรับ [object Object]! NullInjectorError: R3InjectorError(NewFlavorPageModule)[[object Object] -> [object Object] -> [object Object] -> [object Object]]: NullInjectorError: ไม่มีผู้ให้บริการสำหรับ [object Object]! ที่ NullInjector.get (core.mjs:6344:27) ที่ R3Injector.get (core.mjs:6771:33) ที่ R3Injector.get (core.mjs:6771:33) ที่ R3Injector.get (core.mjs:6771:33) ที่ R3Injector.get (core.mjs:6771:33) ที่ ChainedInjector. get (core.mjs:13756:36) ที่ lookupTokenUsingModuleInjector (core.mjs:3286:39) ที่ getOrCreateInjectable (core.mjs:3331:12) ที่ ɵɵdirectiveInject (core.mjs:10858:12) ที่ NodeInjectorFactory.NewFlavorPage_Factory [ในฐานะ factory] (ɵfac.js? [sm]:1:1) ที่ resolvePromise (zone.js:1262:35) ที่ resolvePromise (zone.js:1216:21) ที่ zone.js:1329:21 ที่ _ZoneDelegate.invokeTask (zone.js:443:35) ที่ Object.onInvokeTask (core.mjs:26194:33) ที่ _ZoneDelegate.invokeTask (zone.js:442:64) ที่ Zone.runTask (zone.js:214:51) ที่ drainMicroTaskQueue (zone.js:632:39) ที่ ZoneTask.invokeTask [ในฐานะ invoke] (zone.js:529:25) ที่ invokeTask (zone.js:1727:22)
นี่คือโค้ดของฉัน :
import { Component, OnInit } from '@angular/core';
import { FileChooser } from '@ionic-native/file-chooser';
import { File } from '@ionic-native/file';
import firebase from 'firebase/compat/app'
@Component({
selector: 'app-new-flavor',
templateUrl: './new-flavor.page.html',
styleUrls: ['./new-flavor.page.scss'],
})
export class NewFlavorPage implements OnInit {
constructor(public fileChooser: FileChooser, public file: File, ) { }
ngOnInit() {
}
chooseFile() {
this.fileChooser.open().then((uri) => {
alert(uri);
this.file.resolveLocalFilesystemUrl(uri).then(newUrl => {
alert(JSON.stringify(newUrl))
let dirPath = newUrl.nativeURL
let dirPathSegments = dirPath.split('/')
dirPathSegments.pop()
dirPath = dirPathSegments.join('/')
this.file.readAsArrayBuffer(dirPath, newUrl.name).then((buffer) => {
this.upload(buffer, newUrl.name);
})
})
})
}
upload(buffer, name) {
let blob = new Blob([buffer], { type: "image/jpeg" });
let storage = firebase.storage();
storage.ref('wing flavors/' + name).put(blob).then(d => {
alert("Done")
console.log(d)
}).catch((error) => alert(JSON.stringify(error)))
}
}