Meteor - 在每个页面加载时执行代码

时间:2015-09-23 17:48:49

标签: meteor iron-router

我想在任何页面加载时执行一个函数。

Meteor.startup()Template.myTemplate.onRendered()之类的内容不是我想要的,因为它们只会在加载应用时触发一次。

基本上我需要一个每次URL更改时触发的事件,是否有一个?

1 个答案:

答案 0 :(得分:4)

您可以使用onRunonBeforeAction在每次路线更改时运行任意代码。

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将被动地重新运行。