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的對象,無論它是在同一個會話還是在新的會話中?
謝謝!