Meteor通过单击侧栏类别来过滤列表中的数据

Meteor通过单击侧栏类别来过滤列表中的数据,meteor,meteor-blaze,Meteor,Meteor Blaze,我有一个出现在侧边栏中的类别列表(例如:食品、玩具、衣服等) 在内容中,我有一个项目列表,每个项目都属于一个类别。我希望用户能够通过单击侧边栏中的相应类别对列表进行排序 例如,如果他们仅单击食品,则仅显示食品类别中的项目。如果他们也点击玩具,那么来自食品和玩具类别的物品都会出现 我如何设置这个 谢谢。您可以这样做: Template.filters.onCreated(function () { this.filters = new ReactiveVar({}); }); Templat

我有一个出现在侧边栏中的类别列表(例如:食品、玩具、衣服等)

在内容中,我有一个项目列表,每个项目都属于一个类别。我希望用户能够通过单击侧边栏中的相应类别对列表进行排序

例如,如果他们仅单击食品,则仅显示食品类别中的项目。如果他们也点击玩具,那么来自食品和玩具类别的物品都会出现

我如何设置这个


谢谢。

您可以这样做:

Template.filters.onCreated(function () {
  this.filters = new ReactiveVar({});
});

Template.filters.helpers({
  categories: function () {
    const instance = Template.instance();
    return Categories.find(instance.filters.get());
  }
});

Template.filters.events({
  // whenever a select is changed
  'change select.category-filter': function (e, template) {
    const categories = $(e.target).find('option:checked').reduce(function (query, node) {
      query[node.data.name] = this.value;
      return query;
    }, {});
    template.filters.set(categories); 
  }
});
反应式var将改变,更新助手,然后更新查询