我有一個按鈕可以觸發我的 Vue 應用程式中的路由更改。我希望在組件的 $route 物件中可以訪問按鈕元素作為路由更改的“事件目標”(類似于單擊事件中的 event.target)。
那可能嗎?
如果不是,那么獲取路線更改原因的最佳方法是什么?
uj5u.com熱心網友回復:
您正在尋找導航衛士。有
- 根據您使用的警衛型別,在進入/解決/離開/之后在每條路線上呼叫的全域導航警衛。
- 路由檔案中使用的每個路由的導航保護,在每個路由的宣告中。3)
- 在組件內部使用的組件內防護。
您可以在 In-Component Guard 中獲取導致組件路由更改的特定按鈕beforeRouteLeave(to, from)。這個特定的守衛可以訪問this具有所有道具和反應狀態(包括按鈕參考)的組件。
根據檔案,這是每個守衛在導航操作流程中的落腳點:
- 導航觸發。
beforeRouteLeave在停用的組件中呼叫警衛。- 呼叫全球
beforeEach警衛。 - 在重用組件中呼叫
beforeRouteUpdate警衛。 - 呼叫
beforeEnter路由配置。 - 決議異步路由組件。
- 呼叫
beforeRouteEnter激活的組件。 - 呼叫全球
beforeResolve警衛。 - 導航已確認。
- 呼叫全域
afterEach掛鉤。 - 觸發了 DOM 更新。
beforeRouteEnter在實體化實體的守衛中呼叫傳遞給 next 的回呼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/447181.html
