NullInjectorError при использовании AngularFireAuthGuard - PullRequest
0 голосов
/ 15 января 2020

Я сталкиваюсь с NullInjectorError при попытке использовать AngularFireAuthGuard, как описано в документации angularfire .

Несмотря на добавление AngularFireAuthGuard и AngularFireAuthGuardModule к app.module.ts , он жалуется, что нет поставщика для Router, хотя я импортирую RouterModule как ну!

errors.ts:30 ERROR Error: Uncaught (in promise): NullInjectorError: StaticInjectorError(AppModule)[AngularFireAuthGuard -> Router]: 
  StaticInjectorError(Platform: core)[AngularFireAuthGuard -> Router]: 
    NullInjectorError: No provider for Router!
NullInjectorError: StaticInjectorError(AppModule)[AngularFireAuthGuard -> Router]: 
  StaticInjectorError(Platform: core)[AngularFireAuthGuard -> Router]: 
    NullInjectorError: No provider for Router!

Это можно скопировать в StackBlitz Project .

1 Ответ

0 голосов
/ 16 января 2020

Ошибки NullInjectors возникают из-за отсутствия модулей или провайдеров, попробуйте добавить AngularFireAuthGuardModule при экспорте модулей и провайдеров.

В качестве примера

import { AngularFireAuthGuard } from '@angular/fire/auth-guard';
import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
@NgModule({
  imports:      [ BrowserModule ],
  providers:    [ AngularFireAuthGuard ],
  declarations: [ AppComponent ],
  exports:      [ AppComponent, AngularFireAuthGuardModule ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }
...