我想在任何页面加载时执行一个函数。
Meteor.startup()
和Template.myTemplate.onRendered()
之类的内容不是我想要的,因为它们只会在加载应用时触发一次。
基本上我需要一个每次URL更改时触发的事件,是否有一个?
答案 0 :(得分:4)
您可以使用onRun
或onBeforeAction
在每次路线更改时运行任意代码。
Router.onRun(function(){
console.log('onRun', this.current().route.getName());
this.next();
});
Router.onBeforeAction(function(){
console.log('onBeforeAction', this.current().route.getName());
this.next();
});
使用此占位符代码检测此代码何时实际运行。
每次路线更改时, onRun
只会运行一次。 (适用于分析相关的东西)
当前路线数据上下文被修改时,onBeforeAction
将被动地重新运行。