最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Vue监听页面刷新和关闭功能

来源:动视网 责编:小采 时间:2020-11-27 21:54:43
文档

Vue监听页面刷新和关闭功能

Vue监听页面刷新和关闭功能:我在做项目的时候,有一个需求,在离开(跳转或者关闭)购物车页面或者刷新购物车页面的时候向服务器提交一次购物车商品数量的变化。 将提交的一步操作放到 beforeDestroy 钩子函数中。 beforeDestroy() { console.log('销毁组件') this.fi
推荐度:
导读Vue监听页面刷新和关闭功能:我在做项目的时候,有一个需求,在离开(跳转或者关闭)购物车页面或者刷新购物车页面的时候向服务器提交一次购物车商品数量的变化。 将提交的一步操作放到 beforeDestroy 钩子函数中。 beforeDestroy() { console.log('销毁组件') this.fi


我在做项目的时候,有一个需求,在离开(跳转或者关闭)购物车页面或者刷新购物车页面的时候向服务器提交一次购物车商品数量的变化。

将提交的一步操作放到 beforeDestroy 钩子函数中。

beforeDestroy() { console.log('销毁组件')
 this.finalCart()},

但是发现  beforeDestroy 只能监听到页面间的跳转,无法监听到页面刷新和关闭标签页。

所以还是要借助 onbeforeunload 事件。

顺便复习了一下 JavaScript 中的一些加载,卸载事件:

  • 页面加载时只执行 onload 事件。
  • 页面关闭时,先 onbeforeunload 事件,再 onunload 事件。
  • 页面刷新时先执行 onbeforeunload 事件,然后 onunload  事件,最后 onload  事件。
  • Vue中监听页面刷新和关闭

    1. 在methods中定义事件方法:

    methods: {
     beforeunloadFn(e) {
     console.log('刷新或关闭')
     // ...
     }
    }

    2. 在created 或者 mounted 生命周期钩子中绑定事件

    created() {
     window.addEventListener('beforeunload', e => this.beforeunloadFn(e))
    }

    3. 在 destroyed 钩子卸载事件

    destroyed() {
     window.removeEventListener('beforeunload', e => this.beforeunloadFn(e))
    }

    测试了页面刷洗和关闭都能监听到。

    回到我自己的项目,可以使用 onbeforeunload 事件和 beforeDestroy 钩子函数结合:

    created() {
     this.initCart()
     window.addEventListener('beforeunload', this.updateHandler)
    },
    beforeDestroy() {
     this.finalCart() // 提交购物车的异步操作},
    destroyed() {
     window.removeEventListener('beforeunload', this.updateHandler)},
    methods: {
     updateHandler() {
     this.finalCart()
     },
     finalCart() {
     // ...
     }
    }

    总结

    以上所述是小编给大家介绍的Vue监听页面刷新和关闭功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

    文档

    Vue监听页面刷新和关闭功能

    Vue监听页面刷新和关闭功能:我在做项目的时候,有一个需求,在离开(跳转或者关闭)购物车页面或者刷新购物车页面的时候向服务器提交一次购物车商品数量的变化。 将提交的一步操作放到 beforeDestroy 钩子函数中。 beforeDestroy() { console.log('销毁组件') this.fi
    推荐度:
    标签: 关闭 VUE 页面
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top