gpt4 book ai didi

javascript - Meteor 集合排序未按预期工作

转载 作者:行者123 更新时间:2023-11-27 23:25:54 25 4
gpt4 key购买 nike

当用户单击按钮时,我尝试对一个集合进行排序。我第一次点击时它按预期工作,但是当我再次点击它时什么也没有发生。

在meteor.startup 上,我按“日期”对我的收藏进行排序。当用户单击类别按钮时,它将排序方式更改为“类别”,然后我尝试处理每次单击同一按钮,将排序从升序更改为降序。

这是处理用户点击的代码片段:

(我几乎确定问题出在此处)

布局.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")});
},
})

出版物.js

Meteor.publish('nestagios', function() {
return Estagios.find({});
})

这是我的 main.js

Meteor.startup(function() {
Session.set("sort_by", {
date: -1,
});
});

谁能帮我看看这里出了什么问题吗?谢谢。

最佳答案

由于您只是切换排序方向,因此您可以将事件处理程序简化为:

Template.layout.events({
'click #cat': function(event) {
event.preventDefault();
Session.set('sort_by',{category: -Session.get('sort_by').category});
});

session 变量的计算结果为 {category: 1}{category: -1}

关于javascript - Meteor 集合排序未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34963490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com