ANGULAR 4路由问题:没有HttpClient的提供程序

b.l*_*pes 2 angular angular-httpclient

嗨,我有一个登录组件,其中包含指向寄存器组件的链接.

当我点击此链接时,我遇到了这个问题:

ERROR Error: Uncaught (in promise): Error: No provider for HttpClient!
Error: No provider for HttpClient!
at injectionError (core.es5.js:1169)
at noProviderError (core.es5.js:1207)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_._throwOrNull (core.es5.js:2649)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/co...
Run Code Online (Sandbox Code Playgroud)

登录组件加载良好,寄存器失败.

在登录组件html我有:

 <a [routerLink]="['/register']" class="btn btn-link">Register</a>
Run Code Online (Sandbox Code Playgroud)

我的应用程序路由如下所示:

 const appRoutes: Routes = [
{ path: '', component: HomeComponent, canActivate: [GuardService] },
{ path: 'login', component: LoginComponent },
{ path: 'register', component: RegisterComponent },

// otherwise redirect to home
{ path: '**', redirectTo: '' }
];

export const routing = RouterModule.forRoot(appRoutes);
Run Code Online (Sandbox Code Playgroud)

我正在使用的版本:Node.js版本:v8.5.0 NPM版本:5.4.2

谢谢!

Gün*_*uer 8

确保HttpClientModule列在imports:

@NgModule({
  imports: [BrowserModule, HttpClientModule, ...],
})
export class AppModule{}
Run Code Online (Sandbox Code Playgroud)

另请参见https://angular.io/api/common/http/HttpClient