我是Ionic的新手,当我将HttpClient注入我的服务类时遇到以下错误:
错误:未捕获(承诺):错误:StaticInjectorError(AppModule)[CategoriesServiceProvider-> HttpClient]: StaticInjectorError(平台:核心)[CategoriesServiceProvider-> HttpClient]: NullInjectorError:HttpClient没有提供程序! 错误:StaticInjectorError(AppModule)[CategoriesServiceProvider-> HttpClient]: StaticInjectorError(平台:核心)[CategoriesServiceProvider-> HttpClient]: NullInjectorError:HttpClient没有提供程序!
该错误是由以下Service类触发的:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable()
export class CategoriesServiceProvider {
apiURL = 'https://randomuser.me/api/?results=10';
constructor(private http: HttpClient) {
console.log('Hello CategoriesServiceProvider Provider');
}
}
如果我从构造函数中删除HttpClient,错误就会消失。
而且,以下是我的 app.module.ts 代码:
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { MyApp } from './app.component';
import { TabsPage } from '../pages/tabs/tabs';
import { CategoriesPage } from '../pages/categories/categories';
import { SubscriptionsPage } from '../pages/subscriptions/subscriptions';
import { CategoriesServiceProvider } from '../providers/categories-service/categories-service';
@NgModule({
declarations: [
MyApp,
TabsPage,
CategoriesPage,
SubscriptionsPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
TabsPage,
CategoriesPage,
SubscriptionsPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
CategoriesServiceProvider
]
})
export class AppModule {}
任何见解都会受到赞赏。
答案 0 :(得分:1)
在您的应用模块中添加import { HttpClientModule } from '@angular/common/http';
。
在导入中,像这样添加HttpClientModule
:
imports: [
BrowserModule,
HttpClientModule,
IonicModule.forRoot(MyApp)
]