我需要您关于刷新功能的帮助或建议。我有一个名为refresh的按钮,当点击它时它会刷新(根据createdAt字段重新排列数据排序)。我一直在努力争取通过重新订阅来解决这个问题几天,我不确定这是不是正确的方法。
点击按钮时,是否有正确的方法在客户端上重新订阅或重新排序集合?非常感谢。
答案 0 :(得分:1)
是的,您可以按照以下步骤执行此操作:
以下是代码示例:
Templete.templeteName.onRendered(function(){
this.autorun(function(){
var sort = {};
if(!Router.current().params.query || Router.current().params.query.sortType == 1 ) {
sort.createdAt = 1;
} else {
sort.createdAt = -1;
}
//You can use this handle to show/hide loader.
var handle = Meteor.Subscribe('subscriptionName', sort);
})
})
Templete.templeteName.helpers({
'data' : function(){
var sort = {};
if(!Router.current().params.query || Router.current().params.query == 1 ) {
sort.createdAt = 1;
} else {
sort.createdAt = -1;
}
return collection.find({},{sort:sort});
}
});
Templete.templeteName.events({
'click .refresh' : function(){
var sortType = value //get the value -1 or 1 from html.
Router.go('routeNaem',{},{query:{sortType:sortType}})
}
});