【发布时间】:2017-01-19 00:28:53
【问题描述】:
我使用 IronRouter 为我的流星应用程序设置了一个非常标准的设置。我遇到的问题是,我试图根据来自第三方网站的 url 中的一些令牌将某人重定向到一个页面,但是当用户通过 Router.go 从 Accounts.onLogin 回调发送到他们的目的地时(“一些/有趣/网址”); waitOn 函数无休止地运行。 以下是设置的相关部分。
首先是我要重定向到的路线:
Router.route("/shows/:show_acronym/sponsorships", {
name:"sponsorshipsSalesPortal",
data:function(){
return {show:Shows.findOne({acronym:this.params.show_acronym})};
},
waitOn:function(){
console.log("wait on");
return [Meteor.subscribe("show_by_acronym",this.params.show_acronym),Meteor.subscribe("catalogue_products_by_acronym", this.params.show_acronym)];
}
});
接下来是onLogin钩子的相关部分:
Accounts.onLogin(function(){
if (Session.get("showToRedirectTo")){
console.log("sending to sponsorship portal");
var ur ="/shows/"+Session.get("showToRedirectTo")+"/sponsorships"
return Router.go(ur);
}
});
当它到达重定向时,url 会发生变化,并且“等待”消息会永远打印在控制台中。有谁知道解决这个问题?如果可能的话,我更愿意将我的所有订阅都保留在路由器级别。
谢谢
【问题讨论】:
标签: meteor iron-router