2

您好我有一个登录组件,其中包含指向注册组件的链接。

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

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...

登录组件加载良好,注册失败。

在登录组件 html 上,我有:

 <a [routerLink]="['/register']" class="btn btn-link">Register</a>

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

 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);

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

谢谢!

4

2 回答 2

8

确保HttpClientModule列于imports

@NgModule({
  imports: [BrowserModule, HttpClientModule, ...],
})
export class AppModule{}

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

于 2017-09-29T12:05:54.253 回答
1

确保 HttpModule 和路由在导入中列出。

于 2017-09-29T12:18:13.363 回答