Vueブラウザの後退でbeforeRouteLeaveをトリガーできない問題を解決

724 ワード

げんしょう
最初のコンポーネント(ブラウザ履歴の最初のものを意味し、後述するリスニング対象コンポーネントと呼ばれる)をロードすると、他のページを正常にジャンプしてbeforeRouteLeaveをトリガーすることができます.ただし、ブラウザの戻るボタンを押すとイベントが傍受されません.
ソリューション
現在、比較的土的で実用的ではない解決策が採用されている.コンポーネントを追加してrouter.Pushはリスニング対象コンポーネントに移動し、リスニング対象コンポーネントが最初のコンポーネントではなく、beforeRouteLeaveイベントを正常にリスニングできるようにします.
注意点:
もとのルートを狂わせたからだ.必要なのはmainです.jsにグローバルなルーティングリスニングを追加

router.beforeEach((to, from, next) => {
 if (to is '       ' && from is '     ') {
  router.go(-1) 
  next(false)
 } else {
  next()
 }
 //           A        ,                 A
})

まとめ
以上、Vueブラウザの後退でbeforeRouteLeaveがトリガーされない問題を解決するために、編集者が紹介したものです.