我一直在谷歌和堆棧溢出環顧四周,以回答這個問題:使用Ember-cli 2.10,我怎樣才能在路由器中設置一個回調,它提供了關於前一個和當前URL的信息作爲將要被調用的路由的名稱?我想將所有這3個傳遞給分析平臺。路由器中的單個回叫,訪問前一個/當前url +路由信息?
我發現的每個示例都依賴於不推薦的Ember功能,或者只是普通的按照預期工作。喜歡聽這個答案。鑑於上述分析要求,我們也樂於聽到更好的設計。
我一直在谷歌和堆棧溢出環顧四周,以回答這個問題:使用Ember-cli 2.10,我怎樣才能在路由器中設置一個回調,它提供了關於前一個和當前URL的信息作爲將要被調用的路由的名稱?我想將所有這3個傳遞給分析平臺。路由器中的單個回叫,訪問前一個/當前url +路由信息?
我發現的每個示例都依賴於不推薦的Ember功能,或者只是普通的按照預期工作。喜歡聽這個答案。鑑於上述分析要求,我們也樂於聽到更好的設計。
您的所有要求將包含在Public Router Service拉請求中。它包括性能currentRouteName
,currentURL
, location
,rootURL
和transitionTo
方法。 這是在金絲雀建立,尚未生產準備。發揮您需要啓用此功能config/environment.js
"FEATURES": {
"ember-routing-router-service": true
}
你可以只注入router
服務隨時隨地獲取屬性。
router: Ember.inject.service(),
Twiddle複製米格爾CAMBA
謝謝!我會試試看。 –
對於以前的URL'location.href'和獲取有關被稱爲可以得到它的路線的名字'willTransition'使用'過渡掛鉤'transition'說法。 targetName'參考[這個答案](http://stackoverflow.com/a/41543404/5771666)。但現在我認爲我們沒有準確的API來獲取currentURL。 – kumkanillam
嘿,謝謝,這是一個很好的開始,我重新看了一下,併爲此前和下一個URL得到了這麼多:'const Router = Ember.Router.extend({0128} :function(){ console.log(「did transition hook」); console.log(location.href); } .on('didTransition'), willTransitionHook:function(){ console.log(「將過渡掛鉤「); console.log(location.href); } .on('willTransition') });' –
唉:我還在學習如何在堆棧溢出中顯示代碼示例! –