使用会话更改流星排序顺序?

时间:2013-05-08 06:38:52

标签: mongodb meteor

我有这样的事情:

var getArticles = function one() {

return articles.find({}, {sort: {'published': -1, 'votes': -1}, limit: 100});

};

我想将排序顺序从“已发布”更改为“投票”。我认为你可以通过以下方式做到这一点:

 Template.mytemplate.events({
 'click .sort_by_votes': function () {

Session.set('order', 'votes');
return getArticles();

 } 
});

但我没有运气。任何人都知道如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您必须使用Session.getSession.equals并确保不拆分辅助函数和事件函数

e.g

Template.mytemplate.events({
    'click .sort_by_votes': function () {
        Session.set('order', 'votes');
    }
});

然后是你的模板助手

Template.mytemplate.articles = function() {
    var sort = {published:-1, votes:-1};

    if(Session.equals("order", "votes")) sort["votes"] = 1

    articles.find({}, {sort: sort, limit: 100});
}

这是为了与您的mytemplate模板相关联:

<template name="mytemplate">
    {{#each articles}}
         ...
    {{/each}}
</template>