繁体   English   中英

NullInjectorError:没有路由器的提供程序! 误差角2

[英]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)

使用以下方法生成模块时,出现了相同的错误:

ng g m nameofModule --routing

这将以下内容导入到创建的模块的@NgModule中:

imports: [RouterModule.forChild(routes)]

应该是forRoot而不是forChild。 它应该是:

imports: [RouterModule.forRoot(routes)]

希望这可以帮助。

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
   ],
})

该错误表明您的项目中尚未为路由器指定任何提供程序。 为了解决这个问题,您需要将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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM