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.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow