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.