美文网首页
vue拦截路由回退弹出弹框

vue拦截路由回退弹出弹框

作者: SunShine_2145 | 来源:发表于2019-12-09 13:40 被阅读0次

    一、拦截路由回退弹层功能出现的原因:为了增加用户体验

    在移动端用户容易误操作回退按键或者左滑,导致页面回退,

    特别是大表单页面填写未提交时,

    如果出现了这种误操作会导致浪费用户大量精力和时间。

    二、由产品提出要求,回退时是否可以增加弹窗拦截

    思路就是在页面组件生命周期钩子 beforeRouteLeave 时进行拦截,确定后改变inter。

    三、beforeRouteLeave(to, from, next) {

        if(this.interceptRouter){

          next((()=>{

            MessageBox.confirm('你可能有修改未提交,确定返回上级页面?').then(()=>{

              this.interceptRouter = false;

              this.$router.go(-1)

            }).catch(()=>{

            })

            return false;

          })())

        }else{

          next()

        }

      }

    四、interceptRouter来判断是否有提交的数据

    相关文章

      网友评论

          本文标题:vue拦截路由回退弹出弹框

          本文链接:https://www.haomeiwen.com/subject/mejbgctx.html