我已将我的应用程序从 ionic 7 升级到 8 升级后我遇到以下错误
ERROR NullInjectorError: R3InjectorError(Environment Injector)[_ModalController -> _ModalController]:
NullInjectorError: No provider for _ModalController!
at NullInjector.get (core.mjs:1654:27)
at R3Injector.get (core.mjs:3093:33)
at R3Injector.get (core.mjs:3093:33)
at ChainedInjector.get (core.mjs:15723:36)
at lookupTokenUsingModuleInjector (core.mjs:5730:39)
at getOrCreateInjectable (core.mjs:5778:12)
at Module.ɵɵdirectiveInject (core.mjs:11050:19)
at NodeInjectorFactory.TabsPage_Factory [as factory] (tabs.page.ts:26:22)
at getNodeInjectable (core.mjs:5984:44)
at createRootComponent (core.mjs:15998:35)
后来我发现这个问题与独立组件相关
https://github.com/ionic-team/ionic-framework/issues/28385
根据上面的建议,我已经添加了
从'@ionic/core/components/ion-modal.js'导入{defineCustomElement as DefineModal};
defineModal();//构造函数调用
我遇到同样的错误>请有人建议
您收到此错误的原因是因为您没有为独立组件正确导入它。
import { ModalController } from '@ionic/angular/standalone';
然后使用旧方法:
constructor(private modalCtrl: ModalController) {};
或使用新方法:
private modalCtrl: ModalController = inject(ModalController);