Meteor - 有条件的显示集合
Meteor - display collection with conditions
我有一个基于用户的 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 的文章。
我有一个基于用户的 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 的文章。