iT邦幫忙

1

vue 的 beforeRouteLeave 如何在按下 submit 的時候不要觸發?

我看了一下vue router文件
https://router.vuejs.org/guide/advanced/navigation-guards.html#in-component-guards
想不透
假設按下 submit 時可否不要觸發 beforeRouteLeave
(我是直接寫在該元件~)
發現按下 submit 後都會再問一次要不要離開
要怎麼寫才正確呢

1 個回答

0
dragonH
iT邦超人 5 級 ‧ 2020-06-19 14:30:18
最佳解答

假設按下 submit 時可否不要觸發 beforeRouteLeave

你不要寫他

就不會觸發了阿...

沒看到你的 code 不知道是啥情況

總之

beforeRouteLeave (to, from, next) {
    // called when the route that renders this component is about to
    // be navigated away from.
    // has access to `this` component instance.
  }

to 可以拿到你要去的 route 相關資訊
from 可以拿到你來自的 route 相關資訊

想辦法用這些寫出你預期的結果吧

看更多先前的回應...收起先前的回應...
火爆浪子 iT邦研究生 1 級 ‧ 2020-06-19 15:13:14 檢舉

以前的作法是在 input 加事件 有動過就加入 class
在離開時檢查全部有無該 class 有則出現視窗警告

火爆浪子 iT邦研究生 1 級 ‧ 2020-06-19 15:13:59 檢舉

但是 beforeRouteLeave 在 submit 的時候他就會出現離開警告
想說是不是在 submit 要做怎樣的事件?

froce iT邦大師 1 級 ‧ 2020-06-19 15:30:31 檢舉

你的submit該不會是form的submit吧?
html裡面submit會離開當前路徑。

反正請上code。

火爆浪子 iT邦研究生 1 級 ‧ 2020-06-23 09:40:50 檢舉

我的想法是在每個 input 綁定事件
有變動的話就讓某一值為 true
然後在 beforeRouteLeave 做判斷

我要發表回答

立即登入回答