簡體   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