IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Firebase : Enregistrer un sous élèment Json en base de données


Sujet :

AngularJS

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Firebase : Enregistrer un sous élèment Json en base de données
    Bonjour,

    Je suis avec la base de données en ligne Firebase (Qui est géniale).
    Hier j'ai passé plus de 4 heures à me casser la tête sur un problème insoluble.
    je jette une bouteille à la mer, car je ne pense pas qu'on me répondra, mais qui sait.

    Voilà, Mon but est d'enregistrer plusieurs appréciations par utilisateurs dans un tableau d'objets JSON.

    Voici le format de mon modèle de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $scope.ajouterUtilisateur = function() {
     
    					$rootScope.utilisateurs.$add({
    					  nom:      $scope.nouveauNom,
    					  prenom:   $scope.nouveauPrenom,
    					  age:      $scope.nouvelAge,
    					  email:    $scope.nouvelEmail,
    					  appreciations:[ {"texte":$scope.nouvelleAppreciation}] 
    					});
    				};
    Comme vous pouvez le constater, le tableau "appreciations" est un sous élèment du modèle de données utilisateurs.json.

    Lorsque utilisateurs.json est modifié par l'application ANGULAR en Local, les modifications sont automatiquement répercutées dans ma base de données FIREBASE en ligne, c'est la liaison tridirectionelle, qui permet d'élaborer des applications partagées sans Back End (3 ways Binding), tout en angularJs+AngularFire.

    Et lorsque dans mon application ANGULARJS, j'essaye d'ajouter une nouvelle appréciation avec son texte à la base de données FIREBASE, j'ai écrit ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ul>
    	<li ng-repeat="appreciation in utilisateur.appreciations">
    	<form ng-submit="utilisateurs.$add(appreciation)"> 
    		<input ng-model="appreciation" />
    		<button type="submit">Ajouter Message</button>
    	</form>
    		Appreciation :
    		{{appreciation.texte}}
    	</li>
    </ul>

    Mais cela ne mets pas la base de données à jour en temps réel.
    $add est une fonction de ANGULARFIRE qui permet la liaison tridirectionnelle automatisée des données.
    Elle marche très bien avec un modèle de données Simple, mais dans mon cas ce n'est pas simple puisque j'ai des sous-élèments dans mon modèle qui doivent s'ajouter dynamiquement(Les appreciations).


    J'ai réussi à updater le tableau d'objets JSON utilisateurs.json en local, mais pas moyen que la base de données firebase se mette à jour, uniquement avec ce cas spécifique de "sous-modèle".

    Pourtant, le reste du code marche bien et mets bien la base de données FIrebase à jour, mais cela ne fait pas réfèrence à un sous élèment de mon modèle utilisateurs.json:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <input ng-model="utilisateur.$id" />		
    			<input ng-model="utilisateur.nom" 		ng-change="utilisateurs.$save(utilisateur)" />
    			<input ng-model="utilisateur.prenom"		ng-change="utilisateurs.$save(utilisateur)" />
    			<input ng-model="utilisateur.age" 		ng-change="utilisateurs.$save(utilisateur)" />
    			<input ng-model="utilisateur.email" 		ng-change="utilisateurs.$save(utilisateur)" />
    		        <button class="myButton" ng-click="utilisateurs.$remove(utilisateur)">Supprimer L'utilisateur</button>

    La seule piste que j'ai est de créer une fonction en Js avec ces méthodes, mais c'est difficile :https://www.firebase.com/docs/web/gu...ving-data.html

    Qui sait, quelqu'un aurait peut être un exemple de 3 ways binding avec un sous élèment de modèle, utilisant FIREBASE+ANGULARJS ?
    Dernière modification par NoSmoking ; 14/11/2015 à 15h47. Motif: Merci d'indiquer le langage, [code=xxxx] pour activer la coloration syntaxique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. retourner les sous éléments json
    Par gtraxx dans le forum jQuery
    Réponses: 10
    Dernier message: 28/11/2011, 11h32
  2. Ajouter des éléments dans une base de données Access
    Par bidule123456 dans le forum ASP
    Réponses: 74
    Dernier message: 07/09/2007, 14h00
  3. Réponses: 8
    Dernier message: 26/04/2007, 10h31
  4. insérer des élément dans une base de donné
    Par wiss20000 dans le forum JDBC
    Réponses: 5
    Dernier message: 01/03/2007, 14h49
  5. Réponses: 6
    Dernier message: 05/08/2006, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo