Ricerca…
Domanda reattiva
Codice di esempio:
In main.html
<template name="test">
<input type="checkbox" id="checkbox1" name="name" value="data">Check Me
{{showData}}
</template>
In 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'});
}
});
Spiegazione:
Quando inizializziamo la check_status reattiva check_status impostiamo il valore uguale a {} . Nell'helper, al momento del rendering, gli stessi dati vengono passati alla query Collection.find(check_status.get()) che è valida come mostra tutti i dati.
Non appena si fa clic sulla casella di controllo, viene attivato l'evento descritto in Template.main.events che imposta il valore di check_status su {field: data} . Poiché, questa è una showData reattiva , il modello showData viene eseguito nuovamente e questa volta la query è Collection.find({field: data}) , quindi solo i campi, dove viene restituito il field corrispondente ai 'data' .
Dovrai aggiungere il pacchetto reactive var ( meteor add reactive-var ) prima di usare questi comandi.