2017-03-29 4 views
1

Comme il y a une documentation très pauvre d'Angularfire2, je n'arrive vraiment pas à comprendre comment définir des objets uniques dans Angularfire2. Ma structure de base de données est très simple:Comment définir des objets uniques dans Angularfire2 - Firebase3

{ 
    "mode" : 0 
} 

Le "mode" est une valeur entière. Avant, j'utilisais le Javascript pur et la version Web de Firebase, mais je veux maintenant commencer avec les applications hybrides Ionic. Partout sont des exemples et des tutoriels sur database.list mais je ne veux pas travailler avec des listes, mais seulement .set ou .update la valeur "mode".

[Les listes fonctionnent parfaitement bien. Il n'y a pas de problème avec la configuration générale]

Mon Code Structure:.

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) { 

    } 
} 

Alors, quel serait le code soit pour un simple .set de "mode" à par exemple 2 entier?

Une réponse serait vraiment utile, j'ai juste besoin d'obtenir le blocage du système AngularFire général ..

Merci!


Petite question subsidiaire:

Si je veux appeler une fonction du html par un événement. Exemple button->

(click)="setMode(0)" 

où dois-je mettre la fonction réelle dans le code dactylographiée connexes? Constructeur, Composant, Après?

Répondre

1

Vous pouvez le faire comme indiqué ci-dessous.Hope ci-dessous le code est explicite.

 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 
    } 
} 
+1

Hey Sampath, merci beaucoup. Quelle aide! –

+0

Vous êtes chaudement la bienvenue :) – Sampath