Recherche…


Requête Réactive

Exemple de code:

Dans main.html

<template name="test">
     <input type="checkbox" id="checkbox1" name="name" value="data">Check Me
      {{showData}}
</template>

Dans Main.js

 var check_status='';
 //Reactive Var Initialization
 Template.main.onCreated(function (){
       check_status=new ReactiveVar({});
       
 });

 Template.main.helpers({
       showData : function(){
           return Collection.find(check_status.get());
       }
 });

 Template.main.events({
      "change #checkbox1" : function(){
              check_status.set({field: 'data'});
       }
 });

Explication:

Lorsque nous initialisons le var réactif check_status nous définissons la valeur égale à {} . Dans l'assistant, au moment du rendu, les mêmes données sont transmises à la requête Collection.find(check_status.get()) qui affiche toutes les données.

Dès que vous cliquez sur la case à cocher, l'événement décrit dans Template.main.events est déclenché, ce qui définit la valeur de check_status sur {field: data} . Comme il s'agit d'une showData réactive , le modèle showData est réexécuté et cette fois, la requête est Collection.find({field: data}) , alors seuls les champs, où 'data' correspondant aux field sont renvoyés.

Vous devrez ajouter le package reactive var ( meteor add reactive-var ) avant d'utiliser ces commandes.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow