过滤集合
Filter a collection
我有一个显示所有 Stories
的页面。我添加了一个过滤器表单,您可以在其中 select a priority
然后页面应该只显示具有该优先级的故事。这是表格:
<form name="filter_form">
<select name="prio" class="form-control">
<option value=1>High</option>
<option value=2>Medium</option>
<option value=3>Low</option>
</select>
<button type="submit" class="btn btn-default">Filter</button>
</form>
这是显示所有故事的代码:
<div class="stories">
{{#each stories}}
{{> storyItem}}
{{/each}}
</div>
这是表单处理程序:
Template.storiesList.events({
'submit form': function(e) {
e.preventDefault();
var prio = $(e.target).find('[name=prio]').val();
var stories = Stories.find({prio: prio});
return stories;
}
});
我想只进行查找查询和 return 结果并不容易,因为目前什么也没有发生。我在这里做错了什么?
您需要将 stories
定义为响应式助手。然后你可以使用一个 Session 变量来 link 事件到列表中:
Template.storiesList.helpers({
'stories': function() {
return Stories.find({prio: Session.get('prio')});
}
});
Template.storiesList.events({
'submit form': function(e) {
e.preventDefault();
var prio = parseInt($(e.target).find('[name=prio]').val());
Session.set('prio'), prio);
}
});
我有一个显示所有 Stories
的页面。我添加了一个过滤器表单,您可以在其中 select a priority
然后页面应该只显示具有该优先级的故事。这是表格:
<form name="filter_form">
<select name="prio" class="form-control">
<option value=1>High</option>
<option value=2>Medium</option>
<option value=3>Low</option>
</select>
<button type="submit" class="btn btn-default">Filter</button>
</form>
这是显示所有故事的代码:
<div class="stories">
{{#each stories}}
{{> storyItem}}
{{/each}}
</div>
这是表单处理程序:
Template.storiesList.events({
'submit form': function(e) {
e.preventDefault();
var prio = $(e.target).find('[name=prio]').val();
var stories = Stories.find({prio: prio});
return stories;
}
});
我想只进行查找查询和 return 结果并不容易,因为目前什么也没有发生。我在这里做错了什么?
您需要将 stories
定义为响应式助手。然后你可以使用一个 Session 变量来 link 事件到列表中:
Template.storiesList.helpers({
'stories': function() {
return Stories.find({prio: Session.get('prio')});
}
});
Template.storiesList.events({
'submit form': function(e) {
e.preventDefault();
var prio = parseInt($(e.target).find('[name=prio]').val());
Session.set('prio'), prio);
}
});