2016-04-26 58 views
0

我有一個彈出組件,其中我有一個按鈕,並點擊該如果即時通訊在我的目標路線(mainRoute)我只是想傳遞查詢參數到我目前路線,但如果我在另一條路線,我只是想用新的查詢參數過境。我不知道transitionTo或transitionToroute的工作。有沒有辦法做到這一點?如何從一個組件過渡到一個路由在餘燼

回答

0

transitionTo不起作用,因爲您無權訪問組件上下文中的路由。你可以在任何地方在你的應用程序中使用-routing服務,像這樣添加路由支持:

export default Ember.Component.extend({ 
    routing: Ember.inject.service('-routing'), 
    someFuncUsingRouting(){ 
     let routing = this.get('routing'); 
     routing.transitionTo('some-route'); 
    } 
}); 
+1

的-routing服務目前私人。 – Gaurav

+0

@核心團隊成員建議使用這種做法時,@Gaurav是不是和我坐在同一個房間裏? :-) – canufeel

+0

是的。這並不意味着我不警告人們使用私人東西。我看到了可能發生的問題。 Alex Matchneer首先向我展示了容器。 – Gaurav

0

這是我對於關閉會話,您重定向到/登錄路由註銷功能代碼。

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    authManager: Ember.inject.service('session'), 
    routing: Ember.inject.service('route'), 
    tagName: '', 

    actions: { 
     invalidateSession() { 
      console.log("logout invalidateSession"); 
      this.get('authManager').invalidate(); 
      let routing = this.get('routing'); 
      routing.transitionTo('login'); 
      } 
    } 
}); 

這是工作代碼: 燼-CLI:2.8.0 節點:7.1.0