我的身体中有一个按钮,当点击时,应按降序排序。当我这样做时,没有任何反应。我相信我的代码是正确的,但也许我错过了什么?
这是js:
Tasks = new Mongo.Collection("tasks");
Template.body.events({
"click .sort_title": function () {
return Tasks.find({}, {sort: {movie_title: -1}});
console.log('Sorting has been clicked');
}
});
这是HTML:
<table class="item_db">
<tr>
<th>Title <i class="fa fa-sort sort_title"></i></th>
</tr>
</table>
单击该按钮甚至不会传递给控制台日志命令,因此它会在任务中断。
答案 0 :(得分:5)
问题是帮助返回要显示的任务的助手没有接收排序切换。通过在click事件中设置Session
值,它将强制使用相同Session
键的任务帮助程序再次运行。请参阅下面的示例,以及Meteor's documentation on reactivity。
Tasks = new Mongo.Collection("tasks");
Template.body.events({
"click .sort_title": function () {
var sortValue = Session.get('sort') || 1;
Session.set('sort', sortValue * -1);
}
});
Template.body.helpers({
tasks: function () {
var sortValue = Session.get('sort') || 1;
return Tasks.find({}, {sort: {movie_title: sortValue}});
}
});