代码之家  ›  专栏  ›  技术社区  ›  nontechguy

Firebase+flamelink+angular

  •  0
  • nontechguy  · 技术社区  · 6 年前

    firebase database

    import { Component } from '@angular/core';
    import { AngularFireDatabase, 
         AngularFireList,
        } from 'angularfire2/database';
    import { Observable } from 'rxjs/Observable';
    
     @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
    
      items: Observable<any[]>;
    
      constructor(public db:AngularFireDatabase){
        this.items = db.list('/flamelink/environments/production/content/blog/en-US/').valueChanges();
        console.log(this.items); 
      }
    }
    

    这就是控制台中记录的内容,如果我将items设置为type AngularFireList,也会出现错误

    displayed ion the console

    project settings

    2 回复  |  直到 6 年前
        1
  •  0
  •   Agney Sidharth yadav    6 年前

    documentation 对于AngularFire,最简单的使用方法是:

    import { Component } from '@angular/core';
    import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';
    import { Observable } from 'rxjs';
    
    export interface Item { name: string; }
    
    @Component({
      selector: 'app-root',
      template: `
        <div>
          {{ (item | async)?.name }}
        </div>
      `
    })
    export class AppComponent {
      private itemDoc: AngularFirestoreDocument<Item>;
      item: Observable<Item>;
      constructor(private afs: AngularFirestore) {
        this.itemDoc = afs.doc<Item>('items/1');
        this.item = this.itemDoc.valueChanges();
      }
      update(item: Item) {
        this.itemDoc.update(item);
      }
    }
    

    另一种方法是 subscribe observable 那个 valueChanges() 返回并自己完成功能。

    this.itemDoc.valueChanges().subscribe((item) => this.item = item);
    

    这将在值发生更改时触发并更新 this.item 财产。

        2
  •  0
  •   nontechguy    6 年前

    current setup

    然后在我的应用程序组件中

    export class AppComponent {
      bs: Observable<any[]>;
      posts = [];
      constructor(db: AngularFireDatabase) {
        this.bs = db.list(environment.baseURL).valueChanges();
    
        this.bs.subscribe(posts => {
          this.posts = posts;
        });
      }
    

    }