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 ).



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow