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.