[英]NullInjectorError: No provider for Router! error angular 2
ERROR Error: StaticInjectorError(AppModule)[HeaderComponent -> Router]:
StaticInjectorError(Platform: core)[HeaderComponent -> Router]:
NullInjectorError: No provider for Router!
at _NullInjector.get (core.js:994)
at resolveToken (core.js:1292)
at tryResolveToken (core.js:1234)
at StaticInjector.get (core.js:1102)
at resolveToken (core.js:1292)
at tryResolveToken (core.js:1234)
at StaticInjector.get (core.js:1102)
at resolveNgModuleDep (core.js:10836)
at NgModuleRef_.get (core.js:12069)
at resolveDep (core.js:12559)
I was having the same error when I generated my module using: 使用以下方法生成模块时,出现了相同的错误:
ng g m nameofModule --routing
This imported the following in @NgModule of the created Module: 这将以下内容导入到创建的模块的@NgModule中:
imports: [RouterModule.forChild(routes)]
It's supposed to be forRoot not forChild. 应该是forRoot而不是forChild。 Its supposed to be :
它应该是:
imports: [RouterModule.forRoot(routes)]
Hope this helps. 希望这可以帮助。
Add RouterModule
into your AppModule
. 将
RouterModule
添加到您的AppModule
。
import { RouterModule } from '@angular/router' ;
NgModule({
imports: [
...
RouterModule.forRoot(your routes here)
...
]
})
export class AppModule
Import {RouterModule} from '@angular/router';
@NgModule({
imports: [
RouterModule
],
})
The error specifies that no provider has been specified for Router in your project. 该错误表明您的项目中尚未为路由器指定任何提供程序。 To solve this you will need to add RouterModule to the exports in your module.
为了解决这个问题,您需要将RouterModule添加到模块中的导出中。
import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; @NgModule({ exports: [ RouterModule ] }) export class AppRoutingModule {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.