我无法调试我不想运行的onAfterAction
。当我点击某个div时会发生这种情况。 Router.go
未被调用(在铁路由器代码中使用debugger;
验证),并且URL未更改。我的点击处理程序中找不到任何会导致路由更改的内容。 onAfterAction
来自deps失效:
Router.configure.onAfterAction (routes.coffee:5)
RouteController.runHooks (route_controller.js:155)
(anonymous function) (route_controller.js:291)
RouteController.runHooks (route_controller.js:158)
(anonymous function) (route_controller.js:283)
Deps.Computation._compute (deps.js:196)
Deps.Computation._recompute (deps.js:210)
Deps.flush (deps.js:304)
答案 0 :(得分:1)
可能你在onAfterAction(cursor
,Session
对象中有一些反应数据源。
每当反应数据源发生变化时,它都会重新运行。
您可以通过在onAfterAction
中包装函数来禁止此行为:
Tracker.nonreactive(function(){})
答案 1 :(得分:0)
单击div会导致用户文档发生更改。全局onBeforeAction
检查用户是否已登录(if Meteor.user()
),该用户已被动并触发重新运行action
和onAfterAction
。我将其更改为if Meteor.userId()
,在更新用户文档时没有失效。