Поиск…


Реактивный запрос

Пример кода:

В main.html

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

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

Объяснение:

Когда мы инициализируем реактивный var check_status мы устанавливаем значение, равное {} . В помощнике во время рендеринга те же данные передаются в запрос Collection.find(check_status.get()) который так же хорош, как и отображение всех данных.

Как только вы нажмете на флажок, запускается событие, описанное в Template.main.events которое устанавливает значение check_status в {field: data} . Так как это реактивный var , шаблон showData снова запускается, и на этот раз запрос - Collection.find({field: data}) , поэтому только поля, где возвращается field сопоставляемое 'data' .

Перед использованием этих команд вам необходимо добавить reactive var пакет reactive var ( meteor add reactive-var ).



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow