[英]Get current route name on handlebar template in Ember.js 2
我需要知道當前的路由名稱,以便顯示或隱藏在application.hbs
上創建的全局組件。
該組件應該僅隱藏在一個路由模板中,因此這對我來說似乎是更簡單的解決方案。 獲取當前路線名稱,如果其名稱等於“ posts”,則不會顯示header-bar
組件。
像這樣:
{{#if currentRoute != 'login'}}
{{header-bar}}
{{/if}}
{{outlet}}
關於實現此目標或解決問題的類似方法的任何想法?
applicatiion
控制器具有屬性名稱currentRouteName
。 您可以使用它。
如果要在另一個模板中使用,則需要在控制器中定義它。
test.js(控制器)
init(){
this._super(...arguments);
let appCtrl = Ember.getOwner(this).lookup('controller:application');
this.set('appCtrl', appCtrl);
}
test.hbs
{{appCtrl.currentRouteName}}
答案與Ebrahim Pasbani相同。
此語法在最新的Ember版本中仍然可用:
App.__container__.lookup('controller:application').currentRouteName;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.