在vue中如何监听移动端的返回键

环境:vue.js+vant
问题:首页列表和分类页的列表用的同一个页面,页面区分用的是本地缓存,希望在分类页点击返回的时候,执行清除缓存,刷新页面
解决原理:利用history和浏览器刷新popstate状态去实现
每一次返回都会去历史记录回退 -1 所以就在进入页面之前 往历史记录里面多记录一次当前页面的链接。然后再回退的时候监听刷新,去做一些事情。
具体执行:
1、挂载完成后,判断浏览器是否支持popstate

mounted(){
  if (window.history && window.history.pushState) {
    history.pushState(null, null, document.URL);
    window.addEventListener('popstate', this.refreshFn, false);//false阻止默认事件
  }
},

2、页面销毁时,取消监听。否则其他vue路由页面也会被监听

destroyed(){
  window.removeEventListener('popstate', this.refreshFn, false);//false阻止默认事件
},

3、将监听操作写在methods里面,removeEventListener取消监听内容必须跟开启监听保持一致,所以函数拿到methods里面写

methods:{
  refreshFn(){
    console.log("我刷新了一下页面");
  }
}
微信图片_20211208152033.png

————————————————
版权声明:本文为CSDN博主「so12138」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/so12138/article/details/84250196

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容