2015-09-23 114 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