javascript - Meteor - 有条件地显示集合

标签 javascript meteor meteor-blaze meteor-helper

我有一个基于用户的 Meteor 应用程序,其中包含代表组的集合。

群组是这样的:

{ name: groupname, members: [memberuseridlist], owner: owneruserid}

我有一个针对这些组的模板,如下所示:

{{#each groups}}
    <li>{{name}}
        -
        <button class="join">+</button>
        <button class="leave">-</button>
        <button class="delete">x</button>
    </li>
{{/each}}  

但我想确保只显示相关按钮,例如:

 {{#each groups}}
    <li>{{name}}
        -
        {{#unless ismember}}<button class="join">+</button>{{/unless}}
        {{#if ismember}}<button class="leave">-</button>{{/if}}
        {{#if isowner}}<button class="delete">x</button>{{/if}}
    </li>
{{/each}}  

我有一组模板帮助器方法,但我不明白如何将实际组传递到函数中,以便我可以评估每个组的 ismember 和 isowner 。

最佳答案

{{#each groups}} 中的上下文是一个组文档。因此,在你的助手中,你可以使用 this 来表示一个组。尝试这样的事情:

Template.myTemplate.helpers({
  ismember: function() {
    return _.contains(this.memberuseridlist, Meteor.userId());
  },
  isowner: function() {
    return this.owner === Meteor.userId();
  }
});

如果您希望使这些帮助程序在模板之间更加可移植,请参阅我关于 models 的文章.

关于javascript - Meteor - 有条件地显示集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32058638/

相关文章:

javascript - 无需模板即可访问 Meteor 中的 mongodb 集合

javascript - JavaScript 中 FileReader#readEntries 可以读取的目录的最大文件数

javascript - AngularJS 从外部 URL 获取 JSON 数据

meteor - 在 meteor 中使用参数进行订阅

javascript - ADMIN LTE 通知下拉菜单不包含内容

javascript - 更新 Meteor.js 上的 View 时出现问题

javascript - JS 如何检查类变量是否发生变化?

javascript - window.scrollTo 在 iframe 中使用时不起作用

javascript - 检查对象数组 key 是否为空并拼接它

javascript - Meteor Blaze 上的多个每个索引