1
我想更新传递给流星中的订阅参数的id - 简而言之,我想订阅任何集合对象与当前网址中的id。我可以在第一次加载时发生这种情况,但不会在创建新对象时将用户路由到其会话中的新对象。在流星会话期间更新订阅数据
我一直能够得到这个模糊的工作是唯一的方法是使用setInterval
黑客 - 不是我知道,所以我正在寻找正确的流星方式。
目前我在server
publications.js
是:
Meteor.publish('shares', function(id){
return Shares.find({_id:id});
});
router.js
是
Router.route('/share-social/:_id', {
name: 'shareSocial',
data: function() { return Shares.findOne(this.params._id); }
});
,并通过main.js
在client
订阅:(即,拿在URL中的id和订阅的)
setInterval(function(){
var x = location.href.split('/');
var id = x.slice(-1).pop();
Meteor.subscribe('shares', id);
}, 100);
,最后是模板助手:
Template.shareSocial.helpers({
shares: function() {
return Shares.find().fetch();
}
});
上面显然有它的问题。我该如何反应性地订阅具有当前网址中显示的ID的对象,无论它是在同一个会话还是在新的会话中?
谢谢!