vue 页面切换监听事件

这篇文章主要介绍了关于vue 获取页面详情后 切换页面时 如何监听用户是否修改过信息,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

 

可以用 beforeRouteLeave 和 updated 来判断

name: 'supplier',

    components:{cmtWrap,cmtContent},

    props: [],

    beforeRouteLeave (to, from, next) {//离开当前页

      if(this.updateCount > 1){ //更新次数大于1 说明用户修改过当前页数据 因为获取详情时会更新一次

        if(from.path.includes('nowPath')){

          this.$confirm('即将离开当前页,请确定是否保存当前数据?', '离开当前页', {

            confirmButtonText: '保存',

            cancelButtonText: '不保存',

            type: 'warning'

          }).then(() => {

            //...todo 这里调接口 保存数据

            next()

          }).catch(() => {next()});

        }else{next()}

      }else{

        next()

      }

    },

    updated:function () {

      this.updateCount = this.updateCount + 1

    },

    data() {

      return {

        updateCount:0,//判断用户是否更新当前数据

      }

    },

    computed:{},

    watch:{},

    mounted:function () {    this.getInitData()  },

    methods: {

    getInitData:function(){

    //...todo  页面进来,先获取默认数据

 

    }

 

  },

  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值