我在我的应用程序中使用铁路由器,但是我正在尝试使用Blaze挂钩系统,我看到了路由问题.我认为"之前"钩子在动作方法之前只调用一次.但实际上,它被调用了两次,一次在onData之前,一次在onData之后......所有在每次都播放钩子之前.
为什么?
这里有一个示例应用程序https://github.com/Rebolon/meteor-sample-simpleVote/tree/bug/routing
如文档中所述
onBeforeAction在动作函数之前运行(如果涉及反应,可能多次).
这意味着它在页面加载时运行一次,如果在其中有任何反应变量则再次运行.因此,如果您onBeforeAction
包含一个反应变量,并且它发生变化,那么它将再次运行.
因此,如果您有订阅或您在那里做的事情,它将再次运行.可能是您在方法中使用相同类型的反应组件data
.这就是你发现它多次运行的原因.