簡體   English   中英

Angular-從Firebase提取數據時出錯

[英]Angular - Error while Fetching data from Firebase

該應用程序的任務是從Firebase數據庫獲取數據並將其顯示在控制台上。

我正在嘗試從Firebase數據庫獲取數據,但在控制台中出現錯誤。 我使用了一個名為angularFire2的外部庫。

這是app.module.ts文件:

    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { RouterModule, Routes} from "@angular/router";
    import { HttpModule } from '@angular/http';
    //AngularFire Imports
    import { AngularFireModule} from 'angularfire2';
    import { AngularFireDatabase} from 'angularfire2/database';
    import { AngularFireAuth } from "angularfire2/auth";

    //Component Imports
    import { AppComponent } from './app.component';
    import { DashboardComponent } from './components/dashboard/dashboard.component';
    import { ClientsComponent } from './components/clients/clients.component';
    import { ClientDetailsComponent } from './components/client-details/client-details.component';
    import { AddClientComponent } from './components/add-client/add-client.component';
    import { EditClientComponent } from './components/edit-client/edit-client.component';
    import { NavbarComponent } from './components/navbar/navbar.component';
    import { SidebarComponent } from './components/sidebar/sidebar.component';
    import { LoginComponent } from './components/login/login.component';
    import { RegisterComponent } from './components/register/register.component';
    import { SettingsComponent } from './components/settings/settings.component';
    import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';
    //Service Imports
    import { ClientService} from './services/client.service'

    const appRoutes: Routes = [
      {path:'', component: DashboardComponent},
      {path:'register', component: RegisterComponent},
      {path: 'login', component: LoginComponent}
    ];

    export const firebaseConfig = {
      apiKey: "AIzaSyBMDX4P41-HpeupjjNgBYY2SeE1IA6I",
      authDomain: "clientpanel-7fc90.firebaseapp.com",
      databaseURL: "https://clientpanel-7fc90.firebaseio.com",
      storageBucket: "clientpanel-790.appspot.com",
      messagingSenderId: "175372806702"
    }

    @NgModule({
      declarations: [
        AppComponent,
        DashboardComponent,
        ClientsComponent,
        ClientDetailsComponent,
        AddClientComponent,
        EditClientComponent,
        NavbarComponent,
        SidebarComponent,
        LoginComponent,
        RegisterComponent,
        SettingsComponent,
        PageNotFoundComponent
      ],
      imports: [
        BrowserModule,
        RouterModule.forRoot(appRoutes),
        AngularFireModule.initializeApp(firebaseConfig)
      ],
      providers: [
        AngularFireAuth,
        AngularFireDatabase,
        ClientService
      ],
      bootstrap: [AppComponent]
    })
    export class AppModule { }

client.service.ts文件。

import { Injectable } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database-deprecated';
import { Observable } from 'rxjs';
import { Client } from '../models/Client';

@Injectable()
export class ClientService {
  clients: FirebaseListObservable<any[]>;
  client: FirebaseObjectObservable<any>;

  constructor(
    public af:AngularFireDatabase
  ) { 
    this.clients = this.af.list('/clients') as FirebaseListObservable<Client[]>;
  }

  getClients(){
    return this.clients;
  }

}

client.component.ts文件

import { Component, OnInit } from '@angular/core';
import { ClientService } from '../../services/client.service';
import { Client } from '../../models/Client';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-clients',
  templateUrl: './clients.component.html',
  styleUrls: ['./clients.component.css']
})
export class ClientsComponent implements OnInit {
  clients:Client[];

  constructor(
    public clientService:ClientService
  ) { }

  ngOnInit() {
    this.clientService.getClients().subscribe(clients => {
      this.clients = clients;
      console.log(this.clients);
    });
  }

}

我進入控制台時出錯

您似乎錯過了在app.module.ts中添加為AngularFireDatabase提供的服務的步驟,由於這個原因,angular無法找到該服務。 您可以分享您的app.module.ts文件嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM