vue 获取页面详情后 切换页面时 如何监听用户是否修改过信息详解编程语言

可以用 beforeRouteLeave 和 updated 来判断。export default {

    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  页面进来,先获取默认数据

    }

  },
  }

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/12247.html

(0)
上一篇 2021年7月19日 14:28
下一篇 2021年7月19日 14:28

相关推荐

发表回复

登录后才能评论