Meteor JS无法对数据进行排序

时间:2015-05-16 01:43:55

标签: 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');
}
});

这是HTML:

<table class="item_db">
<tr>
<th>Title <i class="fa fa-sort sort_title"></i></th>
</tr>
</table>

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

1 个答案:

答案 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}}); 
  }
});