Suche…
Reaktive Abfrage
Beispielcode:
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'});
}
});
Erläuterung:
Wenn wir das reaktive var check_status
initialisieren, check_status
wir den Wert gleich {}
. Im Collection.find(check_status.get())
zum Zeitpunkt des Renderns die gleichen Daten an die Abfrage Collection.find(check_status.get())
die so gut ist wie alle Daten Collection.find(check_status.get())
.
Sobald Sie auf das Kontrollkästchen klicken, wird das in Template.main.events
beschriebene Ereignis ausgelöst, das den Wert von check_status
auf {field: data}
. Da dies eine reaktive showData
ist, wird die showData
Vorlage erneut ausgeführt, und diesmal lautet die Abfrage Collection.find({field: data})
werden also nur Felder zurückgegeben, bei denen das field
'data'
hat.
Bevor Sie diese Befehle verwenden, müssen Sie das reactive var
Paket meteor add reactive-var
( meteor add reactive-var
).