Я пытаюсь отсортировать одну коллекцию, когда пользователь нажимает кнопку. При первом щелчке он работает, как ожидалось, но затем, когда я щелкаю его снова, ничего не происходит.
На meteor.startup я сортирую свою коллекцию по «дате». Когда пользователь нажимает кнопку категории, он меняет сортировку на «категорию», а затем я пытаюсь обрабатывать каждый щелчок той же кнопки, чтобы изменить сортировку с возрастающей на убывающую.
Вот фрагмент, который обрабатывает щелчок пользователя:
(Я почти уверен, что проблема где-то здесь)
layout.js
Template.layout.events({
'click #cat': function(event) {
event.preventDefault();
//sets the session to a variable
var sortBy = Session.get('sort_by');
if (sortBy.category == 'desc') {
return Session.set('sort_by', {
category: 'asc'
});
} else {
return Session.set('sort_by', {
category: 'desc'
});
}
}
})
Это мой router.js:
Router.configure({
layoutTemplate: 'layout',
waitOn: function() {
return Estagios.find({},{ sort: Session.get("sort_by")});
},
})
Publications.js
Meteor.publish('nestagios', function() {
return Estagios.find({});
})
Это мой main.js
Meteor.startup(function() {
Session.set("sort_by", {
date: -1,
});
});
Может ли кто-нибудь помочь мне выяснить, что здесь не так? Спасибо.