Я обновил свое приложение с 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
согласно предложению выше, я добавил
import { defineCustomElement as defineModal } из '@ionic/core/comComponents/ion-modal.js';
defineModal();//вызов конструктора
Та же ошибка, что и я >пожалуйста, подскажите кто-нибудь
Причина, по которой вы получаете эту ошибку, заключается в том, что вы неправильно импортируете ее для автономных компонентов.
import { ModalController } from '@ionic/angular/standalone';
затем используйте старый способ:
constructor(private modalCtrl: ModalController) {};
или используйте новый способ:
private modalCtrl: ModalController = inject(ModalController);