在Angular中尝试将AngularFireDatabase与Firebase实时数据库一起使用时出现NullInjectorError

cngwdvgl  于 2023-06-07  发布在  Angular
关注(0)|答案(1)|浏览(134)

我使用@angular/core:“^16.0.0”,@angular/fire:“7.6.1”,并希望从实时数据库firebase获取数据
access-level.service.ts:

import { Injectable } from '@angular/core';
import { AngularFireDatabase } from '@angular/fire/compat/database';

@Injectable({
providedIn: 'root',
})
export class AccessLavelService {
constructor( private db: AngularFireDatabase ) {}

    getAccessLavel() {
        console.log( this.db.list('/g-access-lavel').snapshotChanges()  );
    }

}

我希望在getAccessLavel中返回数据
error

zxlwwiss

zxlwwiss1#

你需要导入你的模块,然后才能得到值。根据您是否有app.module或者您是否执行了应用程序引导(独立组件),您仍然需要以相同的方式导入
进口

import { initializeApp, provideFirebaseApp } from '@angular/fire/app';
import { getFirestore, provideFirestore } from '@angular/fire/firestore';

添加到供应商:

provideAuth(() => getAuth()),
    provideStorage(() => getStorage()),

您可以在他们的gitup页面https://github.com/angular/angularfire上查看他们的文档
虽然我承认他们的文档不是很好,也不是最新的,在他们升级到firebase v9 / angular/fire v7+之后,它变成了模块化的方法。

相关问题