Sök…


Reaktiv fråga

Exempelkod:

I main.html

<template name="test">
     <input type="checkbox" id="checkbox1" name="name" value="data">Check Me
      {{showData}}
</template>

I 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'});
       }
 });

Förklaring:

När vi initialiserar den reaktiva var check_status vi in värdet lika med {} . I hjälperen vid tidpunkten för rendering överförs samma data till frågan Collection.find(check_status.get()) som är lika bra som att visa all data.

Så snart du klickar på kryssrutan utlöses händelsen som beskrivs i Template.main.events vilket sätter värdet på check_status till {field: data} . Eftersom detta är en reaktiv var , showData mallen körs igen och den här gången är frågan Collection.find({field: data}) , så endast fält, där field matchade 'data' returneras.

Du måste lägga till det reactive var paketet ( meteor add reactive-var ) innan du använder kommandona.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow