2015-09-23 74 views
2

我想在加载任何页面时执行一个函数。流星 - 每页加载执行代码

Meteor.startup()Template.myTemplate.onRendered()之类的东西并不是我想要的,因为它们在应用程序加载时仅触发一次。

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

+0

你在使用什么路由器? –

+0

我用铁:路由器 – adrien54

回答

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将在当前路由数据上下文被修改时被动地重新运行。

+0

这是我一直在寻找的简单方式,谢谢! – adrien54