问题描述
我正在实施 CallNumber。 如果我遵循 ionic docs,则没有提到在提供程序中包含 CallNumber,因此会引发错误:
错误:未捕获(承诺):NullInjectorError: R3InjectorError(HomePageModule)[CallNumber -> CallNumber -> CallNumber -> CallNumber]: NullInjectorError: No provider for CallNumber!
所以我在 app.module.ts 中添加 CallNumber 作为提供者
import { CallNumber } from '@ionic-native/call-number';
@NgModule({
declarations: [AppComponent,StudentModalPage],imports: [
browserModule.withServerTransition({ appId: 'serverApp' }),browserTransferStateModule,IonicStorageModule.forRoot(),IonicModule.forRoot(),FormsModule,AppRoutingModule,HttpClientModule,ComponentsModule,ServiceWorkerModule.register('ngsw-worker.js',{ enabled: environment.production })
],providers: [
CallNumber,{ provide: RouteReuseStrategy,useClass: IonicRouteStrategy },{
provide: APP_INITIALIZER,useFactory: (platformId: object,response: any) => {
return () => {
// In the server.ts we added a custom response header with @R_79_4045@ion about the device requesting the app
if (isPlatformServer(platformId)) {
if (response && response !== null) {
// Get custom header from the response sent from the server.ts
const mobileDeviceHeader = response.get('mobile-device');
// Set Ionic config mode?
}
}
};
},deps: [PLATFORM_ID,[new Optional(),RESPONSE]],multi: true
}
],bootstrap: [AppComponent]
})
export class AppModule {
但现在我收到此错误:
错误:NgModule 'AppModule' 的提供者无效 - 仅实例 Provider 和 Type 是允许的,得到:[?[object Object]?,...,...]
我在 allot 周围搜索过,但找不到解决方案,也没有隐藏错误,感谢任何输入。
解决方法
我遇到了类似问题的 this 解决方案,并从添加提供程序后创建的自动导入更改了我的导入:
{ CallNumber } from '@ionic-native/call-number';
到:
{ CallNumber } from '@ionic-native/call-number/ngx';