流星有问题,我用滑块显示一些组。当您点击某个组时,我会显示一些用户。
我希望只显示属于组Admin的用户,组管理员以及组管理员等用户管理员...
HTML:
<template name="manage">
{{> header}}
<div class="menu">
<div class="accordion">
<div class="accordion-group">
{{#each roles}}
<div class="accordion-heading country">
<!-- <img src="http://placehold.it/100x30" alt="country flag" style="float:left; margin: 3px 10px 0 3px; text-align:center;"/> -->
<p style="border: 1px solid grey; border-radius: 5px; font-weight: bold; width: 100px; height :30px; float:left; margin: 3px 10px 0 3px; text-align:center;">{{name}}</p>
<a class="accordion-toggle" data-toggle="collapse" href="#country{{_id}}">{{pays}} - {{lieu}} - {{increment}}</a>
</div>
<div id="country{{_id}}" class="accordion-body collapse">
<div class="accordion-inner">
<table class="table table-striped table-condensed">
<thead>
<tr>
<th>Utilisateurs</th>
<th>Nom</th>
<th>Prenom</th>
<th>Statut</th>
<th>ID</th>
</tr>
</thead>
<tbody>
{{#each users "1"}}
<!-- {{#if roles "lol"}} -->
<tr>
{{#each emails}}
<td>{{address}}</td>
{{/each}}
<td>{{profile.name}}</td>
<td>{{profile.name}}</td>
<td>OK</td>
<td>{{increment}}</td>
</tr>
<!-- {{/if}} -->
{{/each}}
</tbody>
</table>
</div>
</div>
{{/each}}
</div>
</div>
JS:
Template.manage.roles = function () {
return Meteor.roles.find();
};
Template.manage.users = function (inc) {
return Meteor.users.find({increment : inc});
};
所以,我正在尝试比较数据库中的两个字段但是你有更好的解决方案吗? 对不起,我是流星的新手:)
答案 0 :(得分:0)
解决此问题的一种方法是将所选组存储在会话中,然后让Meteor.users.find()对会话变量做出反应。 流星中的会话具有内在的反应性。
示例:
<template name="manage">
<button class="role" value="manager">Manager</button>
{{#each users}}
{{name}}
{{/each}}
</template>
Template.manage.events({
'click .role': function(event, template) {
Session.set('role', event.target.value);
}
});
Template.manage.helpers({
users: function() {
return Meteor.users.find({role: Session.get('role')});
}
});