如何在Angularfire2 - Firebase3中设置单个对象

时间:2017-03-29 20:11:58

标签: angular firebase ionic2 angularfire angularfire2

由于Angularfire2的文档很差,我真的无法弄清楚如何在Angularfire2中设置单个对象。 我的数据库结构非常简单:

{
  "mode" : 0
}

"模式"是一个整数值。

之前,我使用纯Javascript和Firebase的Web版本,但现在想要从混合Ionic应用程序开始。 到处都是关于database.list的示例和教程,但我不想使用列表,但只有.set或.update"模式"值。

[列表工作完全正常。一般设置没有问题。]

我的代码结构:

import { Component } from '@angular/core';

import { NavController } from 'ionic-angular';

import {AngularFire, FirebaseListObservable} from 'angularfire2';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController, af: AngularFire) {

  }
}

那么代码对于一个简单的.set模式"模式"例如整数2?

答案非常有用,我只需要掌握一般的AngularFire系统......

谢谢!

小方问:

如果我想通过事件从html调用函数。示例按钮 - >

(click)="setMode(0)"

我在哪里将实际函数放在相关的打字稿代码中? 构造函数,组件,之后?

1 个答案:

答案 0 :(得分:1)

你可以这样做。如下所示。希望下面的代码是不言自明的。

        export class YourPage {

          // Ref
          mode: FirebaseObjectObservable<any>;

          constructor(public navCtrl: NavController, public af: AngularFire) {

            this.mode = this.af.database.object('/mode');//ref

          }

       setValue(data: any) {
        this.mode.set(data);//set
       }

      updateValue(data: any) {
        this.mode.update(data);//update
      }

     //This is the answer for your 2nd question
     setMode(data):void{
       //method body
     }
 }