【发布时间】:2015-05-01 23:55:40
【问题描述】:
我有一个从集合中获取的项目列表,我想让它根据单击的按钮显示不同的内容。我想我会通过更新出版物的会话来做到这一点。
这是我的出版物:
Meteor.publish('stuff', function(filter) {
var nameVar = filter || "default"
return myStuff.find({name: nameVar})
})
我在路由器中订阅的内容:
Router.route('/', {
name: 'home',
layoutTemplate: 'homeLayout',
waitOn: function() {
return Meteor.subscribe('stuff', Session.get('filter'));
}
});
然后让按钮做他们的事情(他们每个人都有一个匹配我想要过滤的 id):
Template.buttonFilter.events({
'click button': function(event, template) {
var buttonId = event.currentTarget.id
Meteor.subscribe('stuff', Session.set('filter', buttonId))
}
})
但是,当我点击一个按钮时,它不会取消我第一次通过路由器订阅的订阅,只会取消我最后一次点击按钮时设置的订阅。我真的不明白为什么或如何解决它。
编辑:我不认为这是重复的,因为其他问题的答案都在谈论改变路线,而我没有这样做。
【问题讨论】:
-
由于这些答案没有回答我的问题,我不这么认为。
-
好点,抱歉。
标签: meteor iron-router