EmberJS - Pousser des enregistrements

Vous pouvez pousser les enregistrements dans le cache du magasin sans demander les enregistrements à une application. Le magasin a la capacité de renvoyer l'enregistrement, s'il est demandé par une route ou un contrôleur uniquement lorsque l'enregistrement est dans le cache.

Exemple

L'exemple donné ci-dessous montre le transfert d'enregistrements dans la base de feu de braise. Ouvrez le fichier application.hbs créé sous app / templates / avec le code suivant -

<h2>Pushing Record into Store</h2>
<form>
   {{input type = "name" value = nameAddress placeholder = "Enter the text" 
      autofocus = "autofocus"}}
   //when user clicks the send button, the 'saveInvitation' action will get triggered
   <button {{action 'saveInvitation'}} >Send</button> 
</form>

{{#if responseMessage}}
   //display the response sessage after sending the text successfully
   {{responseMessage}}
{{/if}}
{{outlet}}

Créez un modèle avec le nom d' invitation , qui sera créé sous app / models / . Ouvrez le fichier et incluez le code suivant -

import DS from 'ember-data';

export default DS.Model.extend ({
   //specifying attribute using 'attr()' method
   name: DS.attr('string')
});

Ensuite, créez un contrôleur avec le nom application, qui sera créé sous app / controllers / . Ouvrez le fichier et ajoutez le code suivant -

import Ember from 'ember';

export default Ember.Controller.extend ({
   headerMessage: 'Coming Soon',
   //displays the response message after sending record to store
   responseMessage: '',
   nameAddress: '',

   actions: {
      //this action name which fires when user clicks send button
      saveInvitation() {
         const name = this.get('nameAddress');
         //create the records on the store by calling createRecord() method
         const newInvitation = this.store.createRecord('invitation', { name: name });
         newInvitation.save(); //call the save() method to persist the record to the backend
         this.set('responseMessage', `Thank you! We have saved your Name: ${this.get('nameAddress')}`);
         this.set('nameAddress', '');
      }
   }
});

Vous pouvez stocker les informations au format JSON sur Ember Firebase. Pour ce faire, vous devez créer un compte en utilisant le site Web de Firebase . Pour plus d'informations sur la création et la configuration de Firebase dans votre application, cliquez sur ce lien .

Production

Exécutez le serveur de braises et vous obtiendrez la zone de saisie pour entrer la valeur comme indiqué dans la capture d'écran ci-dessous -

Après avoir cliqué sur le bouton d'envoi, il affichera le texte saisi par l'utilisateur -

Maintenant, ouvrez votre base de données Firebase, vous verrez la valeur stockée dans la section Base de données -