【问题标题】:Meteor - display collection with conditionsMeteor - 有条件的展示集合
【发布时间】:2015-08-18 04:05:55
【问题描述】:

我有一个基于用户的 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。

【问题讨论】:

    标签: javascript meteor meteor-blaze meteor-helper


    【解决方案1】:

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

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

    如果您希望这些帮助程序在您的模板之间更易于移植,请参阅我在 models 上的文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-23
      • 2016-06-21
      • 2016-01-26
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      相关资源
      最近更新 更多