Meteor JS无法对数据进行排序

Xer*_*ro1 2 javascript sorting meteor

我有一个按钮,当点击时,应按降序排序.当我这样做时,没有任何反应.我相信我的代码是正确的,但也许我错过了什么?

这是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');
}
});
Run Code Online (Sandbox Code Playgroud)

这是HTML:

<table class="item_db">
<tr>
<th>Title <i class="fa fa-sort sort_title"></i></th>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

单击该按钮甚至不会传递给控制台日志命令,因此它会中断任务.

Tom*_*omJ 5

问题是负责返回要显示的任务的助手没有收到排序切换.通过Session在click事件中设置一个值,它将强制使用相同Session键的任务帮助程序再次运行.请参阅下面的示例,以及Meteor关于反应性的文档.

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}}); 
  }
});
Run Code Online (Sandbox Code Playgroud)