2017-10-13 37 views
6

पर मौजूद नहीं है, मैं this tutorial का अनुसरण कर रहा हूं कि कैसे फायरबेस डेटाबेस के साथ कोणीय को कनेक्ट किया जाए।एंगुलरफ़ीयर प्रॉपर्टी 'सब्सक्राइब' प्रकार 'एंगुलरफायरलिस्ट <{}>'

संपत्ति 'सदस्यता लें' प्रकार पर मौजूद नहीं है 'AngularFireList < {}>'

मेरी AppComponent:: लेकिन मिनट 17:30 में मैं इस त्रुटि मिल रही है

import { Component } from '@angular/core'; 
import {AngularFireDatabase, AngularFireDatabaseModule} from 'angularfire2/database'; 

import {AngularFireAuth, AngularFireAuthModule} from 'angularfire2/auth'; 
import { Observable } from 'rxjs/Observable'; 
import * as firebase from 'firebase/app'; 
import { Country } from './models/country'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 

export class AppComponent { 
    countries: any[]; 

    constructor(db: AngularFireDatabase) 
    { 
    db.list('/Country/countries') 
    .subscribe(countries => { // <--ERROR IS HERE 
     this.countries = countries; 
     console.log(this.countries); 
     }); 
    } 
} 

मेरे मॉडल:

export class Country { 
    // --ATTRIB-- 
    id: string; 
    name: string; 
    code: string; 
    urlFlag: string; 
} 

इस त्रुटि के बारे में कुछ भी ढूंढें। मैं कोणीय में शुरुआत कर रहा हूँ। धन्यवाद अगर मेरी मदद कर सकते हैं।

उत्तर

10

AngularFire 5.0 में शुरू आप snapshotChanges() में से एक, valueChanges<T>(), stateChanges(), या auditTrail() का उपयोग करना चाहेंगे। See the 5.0 migration guide

, सबसे बुनियादी के साथ आरंभ करें valueChanges():

export class AppComponent { 
    countries: Observable<Country[]>; 
    constructor(db: AngularFireDatabase) { 
    this.countries = db.list('/Country/countries').valueChanges(); 
    } 
} 
+0

"अपडेट काम करता है!" ; D –

4

एक सरल परिवर्तन होने के लिए होगा जोड़ें: valueChanges() से पहले: .subscribe()

db.list('/Country/countries').valueChanges().subscribe(countries => { 
    this.countries = countries; 
    console.log(this.countries); 
}); 
0

अगले प्रयास करें :

export class AppComponent { 
    countries: any[]; 

    constructor(db: AngularFireDatabase) 
    { 
     this.countries = db.list('/Country/countries').valuesChanges(); 
    } 
} 

और यदि आपके पास मॉडल है तो:

export class AppComponent { 
    countries: Country[]; 

    constructor(db: AngularFireDatabase) 
    { 
    this.countries = db.list<Country>('/Country/countries').valueChanges(); 
    } 
} 
संबंधित मुद्दे