路线上的铁勾路由器实际上改变的是模板之前(Iron Router hook on a route b

2019-10-20 19:38发布

我试图当他点击了一个祈祷,对象上显示该用户的支付弹出。 但他支付后,他应该直接进入他所点击的内容。

因此,我认为这是一个很好的解决方案,与路由器解决这个问题,因为我想,重定向到这个内容,以显示这个弹出页面上的每一个环节。

我的问题是我想将用户重定向之前显示弹出。 所以我tryed的onBeforeAction钩之类的东西,但一切都与铁路由器工作似乎只能在挂钩后,浏览器的URL变化,当前模板被卸载。

你有一个想法,如何让这种行为?

干杯

Answer 1:

在此基础上的答案 ,这里是你如何挂钩使用路由器Router.onStop()

// onStop hook is executed whenever we LEAVE a route
Router.onStop(function(){
  //check if the current route is the page from where you need to show your 
  //popup and show it based on, for instance, a session variable containing 
  //the previously clicked content id.

});


Answer 2:

这是一个普遍使用的情况下,我不认为是目前铁路由器框架内直接实现的(虽然我会很高兴得到纠正!)。 正如你已经发现, onBeforeAction运行在页面呈现之前,但新干线已运行后,使旧的页面已经消失。

实际上,你正在寻找,直到某个动作已经完成排队一个新的路线运行。 为此,我已经经历了这一要求的用例是页面转换 ,为此,最好的解决方案似乎是完全做你提出的正好相反:即逻辑添加到安装在连杆的事件,只有重定向到一旦该逻辑的新航线已圆满完成(即弹出已在您的案件被关闭)。

我同意,在路由器上做一些事情会解决这个明智的方式,但我不知道它在铁路由器可能情况来看。 请注意,这也已经被提出 ,但!



Answer 3:

请问本次研讨会? “卸载 - 当你离开一个新的路线的路线运行一次。” 从https://github.com/EventedMind/iron-router/blob/devel/DOCS.md#unload-hook



文章来源: Iron Router hook on a route before actually changing the template