35 votes

Erreur angulaire: pas de fournisseur pour ActivatedRoute

je m en utilisant angulaire 5 dernière et je suis frapper ci-dessous exception

ERROR Error: StaticInjectorError(AppModule)[AppComponent -> ActivatedRoute]: 
  StaticInjectorError(Platform: core)[AppComponent -> ActivatedRoute]: 
    NullInjectorError: No provider for ActivatedRoute!
    at _NullInjector.get (core.js:1002)
    at resolveToken (core.js:1300)
    at tryResolveToken (core.js:1242)
    at StaticInjector.get (core.js:1110)
    at resolveToken (core.js:1300)
    at tryResolveToken (core.js:1242)
    at StaticInjector.get (core.js:1110)
    at resolveNgModuleDep (core.js:10854)
    at NgModuleRef_.get (core.js:12087)
    at resolveDep (core.js:12577)

l'app.le module.ts ressemble à ci-dessous importer { Itinéraires, RouterModule } à partir de '@angulaire/routeur;

@NgModule({
  declarations: [
    AppComponent,
    OptyDetailsComponent,
    GlobalNavbarComponent
  ],
  imports: [
    BrowserAnimationsModule,
    BrowserModule,
    HttpModule,
    HttpClientModule,
    FlexLayoutModule,
    FormsModule,
    MatButtonModule,
    MatInputModule
    RouterModule
  ],
  entryComponents: [
  ], 
  providers: [
    DataStoreService,
    DataObjectsOscService,
    AdobeSignService,
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

48voto

Jota.Toledo Points 11554

Pour être en mesure de fournir de l' ActivatedRoute dans vos éléments anguleux, vous devez importer le résultat de l'appel d' RouterModule.forRoot dans la racine de votre module (AppModule). C'est parce que le module renvoyé par RouterModule.forRoot inclut le fournisseur pour les instances de ActivatedRoute,, entre autres.

Donc, fondamentalement, vous devez ajouter les lignes suivantes à votre importations dans la racine du module:

@NgModule({
  ...
  imports: [
    ...
    // Remark: because you havent defined any routes, I have to pass an empty
    // route collection to forRoot, as the first parameter is mandatory.
    RouterModule.forRoot([]),
    ...
  ],
  ...
})
export class AppModule { }

Mais pour être honnête, son un peu étrange que vous utilisez ActivatedRoute, malgré le fait que vous n'avez pas défini de toutes les routes de la racine de votre module.

Pour plus de détails, voir:

ActivatedRoute fournisseur de source

RouterModule.forRoot() source

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X