我有一个要从集合中填充的公司名称列表,我的助手功能是:

Template.companyList.helpers({
    companies: function () {
      return Companies.find({owner: Meteor.userId()}, {sort: {a: 1}, name:1, createdAt:1});
    }
  });
  • 它通过使用

    {{#每个公司}}

哪个输出

<LI> Company Name </LI>

在此上方,我有一个文本框,并想按我在文本框中键入的内容来过滤公司列表-我更希望有一个“包含”过滤器,而不是以…… 开头”过滤器,但我会任一个-在Meteor中是否有确定的方法? 如果没有,是否有人编写了一个插件来执行此操作?

另外,无论您给出什么答案,请考虑一个事实,就是我已经使用Meteor了5天了,而我仍在学习它,因此,新手风格的答案将是不错的选择。

谢谢阅读!


编辑


这是我想出的最新答案-将David的答案与以前的公司帮助者结合在一起:

Template.companyList.helpers({
companies: function () {
    var query = Session.get('query');
    selector = {owner: Meteor.userId()};
    options = {sort: {a: 1}, companyName:1, createdAt:1};
    if (query && query.length) {
        var re = new RegExp(query, 'i');
        selector.companyName = re;
    }
    return Companies.find(selector, options);
}

});

#1楼 票数:0 已采纳

这是一个简单的按需搜索界面的概述:

Template.myTemplate.helpers({
  companies: function() {
    // build a regular expression based on the current search
    var search = Session.get('search');
    var re = new RegExp(search, 'i');

    selector = {owner: Meteor.userId()};

    // add a search filter only if we are searching
    if (search && search.length)
      selector.name = re;

    options = {sort: {createdAt: -1}};
    return Companies.find(selector, options);
  }
});

Template.myTemplate.events({
  'keyup #search': function() {
    // save the current search query in a session variable as the user types
    return Session.set('search', $('#search').val());
  }
});

假设:

  • 您正在尝试按名称搜索Companies
  • 您输入的ID为search

请根据您的用例进行必要的修改。 如果您有任何疑问,请告诉我。

  ask by raingod translate from so

未解决问题?本站智能推荐:

1回复

如何创建反应式和非反应式流星模板?

我正在努力解决一个奇怪的问题。 使用特定属性更新文档后,该文档将不再与发布查询匹配。 流星将其从DOM中剔除,并将其从客户端集合中删除。 我需要将清单保留在原处,以便用户仍然可以返回并撤消他们的选择。 但是,我需要它们不显示在下一页加载中。 如果我将整个集合发送给客户端,然后如果返
1回复

将输入字符串匹配到文本/元素并突出显示反应式

HTML(JADE) JS 我有上面的代码。 我想做的是匹配输入字段的值,然后匹配文本。 我将其功能添加到keyup从而可以进行响应。 当字段和文本匹配时,它将在匹配的字符串(文本)中添加bold tags 。 我想我快到了,但还没到。 我将如何从这里继续? 陨石
2回复

MeteorJS和AmplifyJS反应式

所以我使用流星的amplifyjs包。 我对流星还是相当陌生,并且在使其成为反应性上下文方面遇到困难。 我正在使用 因此,当我对此进行更改或添加值时,我希望视图更新能够反映这一点。 我想我将不得不使用Meteor.deps或自动订阅,但不确定从哪里开始。 任何帮助都会很棒。
2回复

在meteor.js中实现反应式按钮的最佳方法?

假设我有一个可由用户按下的星标/收藏夹按钮。 如果他们按下按钮,则按钮应该切换状态或看起来不同,并且该状态应该既是持久性的(如果我刷新页面,其将保留相同的状态)又是反应性的(假设同一用户打开了两个浏览器实例,并且他们按下了按钮,会在其他浏览器窗口中看到新更改的状态)。 我是否应该在车把模
1回复

如何在流星上创建选择过滤器?

我与用户一起使用表格,并使用用户的姓氏进行选择,当我更改选择选项并选择“黑色”之类的选项时,只需要在桌子上显示姓氏为“ black”的人。 怎么做?
1回复

动态火焰模板中的反应式助手输入值行为

我正在使用一个帮助程序将反应变量添加到动态模板中: 当数据以及相应的this.value更改时,应该更改输入元素中的显示值。 由于某些原因,当初始值为空字符串时,此方法不起作用。 如果初始值是123,而我手动将输入更改为124,则在数据更改时将显示新值,并且124将被丢弃,但是当初始默
1回复

对用户集合进行反应式订阅

我正在尝试订阅与登录用户不同的用户的个人简介信息,但是我遇到了如下所述的问题,我正在使用角度材质,并且我的代码如下所示: 问题:1.在变量askLikeController。$ root.usersProfile中,我同时获得了登录用户和具有userId的所需userinfo,我期望只有所需
1回复

非反应式Meteordb订阅可以吗?

我已经发布了服务器端集合中的文档。 但是,我不需要在客户端进行反应。 出于性能原因,我只想像传统Web应用程序一样从客户端手动查询数据库。 一种选择是订阅,然后停止订阅。 但是,调用handle.stop清除客户端的缓存。 我想保留缓存并根据需要手动重新下载内容。 这可能吗?