1

私はこのようなものを持っています:

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();

 } 
});

しかし、私は運がありません。これを行う方法を知っている人はいますか?

4

1 に答える 1

2

Session.getorを使用Session.equalsする必要があり、ヘルパー関数とイベント関数を分割しないようにする必要があります

例えば

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>
于 2013-05-08T07:45:19.333 に答える