[英]How to transit from a component to a route in ember
我有一個彈出組件,其中有一個按鈕,如果我在目標路由(mainRoute)中單擊該按鈕,則只想將查詢參數傳遞給當前路由,但是如果我在另一條路由中,我只想使用新的查詢參數進行傳遞。 我不知道transitionTo或transitionToroute都工作。 有什么辦法嗎?
transitionTo
無效,因為您無權從組件上下文內部訪問路由。 您可以使用-routing
服務在應用程序的任何位置添加路由支持,如下所示:
export default Ember.Component.extend({
routing: Ember.inject.service('-routing'),
someFuncUsingRouting(){
let routing = this.get('routing');
routing.transitionTo('some-route');
}
});
這是我的注銷功能代碼,它關閉會話並將您重定向到/ login路由。
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');
}
}
});
這是以下代碼的工作代碼:ember-cli:2.8.0節點:7.1.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.