2015-05-23 26 views
1

我很努力地找到一種方法來訪問給定路線的「名稱」屬性。目前我想在一條路線上做到這一點,但計劃將此代碼移到控制器中,所以如果它在這兩個實例中略有不同,我會欣賞這兩個例子。您如何使用Meteor Iron Router獲得當前路由的名稱?

基本上我有許多途徑,看起來像下面這樣:

Router.route('/settings/:page?', { 
    name : 'settings', 
    controller : 'AppController', 
    data : function() { 
     return Meteor.user(); 
    }, 
    action : function() { 
     this.render('settingsHeader',{to : "contentHeader"}); 
     if (this.params.page) { 
      this.render('settings'+this.params.page); 
     } else { 
      this.render('settingsbasic'); 
     } 
    } 
}); 

我想獲得給定路線的名字,這樣我就可以取代在那裏我命名弦路線(在這種情況下設置)。最終這將允許我創建一個SubPageController,它可以大幅度提高我的路由器代碼。

這可能超級簡單,但我並沒有在其他SO問題或文檔中找到我確切的內容。

在此先感謝。

+2

你試過Router.current()route.getName() ? –

+0

我沒有,但很明顯,謝謝。 – pushplaybang

+0

@DavidWeldon在閱讀我看到的另一個問題之後,感謝你,但標題提供了不同的內容,這就是爲什麼我沒有深入挖掘的原因。 – pushplaybang

回答

1

在這裏,你有它:

鐵路由器> 1.0

var routeName = Router.current().route.getName(); 

鐵路由器< 1.0

var routeName = Router.current().route.name; 
+0

很棒的工作,不知道我錯過了什麼。乾杯。 – pushplaybang

+0

@Ovidiu未來,請指出問題是重複而不是複製現有的答案。 –

+0

@DavidWeldon。這真的很奇怪:D。還沒有在SO上尋找答案,但現在你提到它......這真的很尷尬,我們都有相同的答案...下一次,我會在發佈之前尋找答案。感謝您的觀察 – OvidMe

相關問題