我有这样的事情:
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();
}
});
但我没有运气。任何人都知道如何做到这一点?
答案 0 :(得分:2)
您必须使用Session.get
或Session.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>