Vue 弹窗时 监听手机返回键关闭弹窗(页面不跳转)

本文介绍了在Vue中如何利用popstate事件监听手机返回键,以便在弹窗打开时关闭它而不使页面跳转。详细讲解了popstate事件的工作原理,以及如何结合history.pushState()和keepAlive实现弹窗的管理。此外,还探讨了历史记录的前进、后退、添加/修改历史记录条目的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vue 监听手机返回键关闭弹窗

popstate 事件

  a.当活动历史记录条目更改时,将触发 popstate 事件。

  b.如果被激活的历史记录条目是通过对 history.pushState() 的调用创建的,或者受到对 history.replaceState() 的调用的影响,

          popstate 事件的 state 属性包含历史条目的状态对象的副本。

  c.需要注意的是调用 history.pushState() 或 history.replaceState() 不会触发popstate事件。

  d.只有在做出浏览器动作时,才会触发该事件,如用户点击浏览器的回退按钮(或者在Javascript代码中调用history.back()

 实现代码

  1.  配置路由 meta 的 keepAlive 属性,再 App.vue 中 使用 keep-alive 标签 将当前页面加入缓存中  

<keep-alive>
  <router-view v-wechat-title="$route.meta.title" v-if="$route.meta.keepAlive">
    <!-- 这里是会被缓存的试图组件 -->
  </router-view>
</keep-alive>
&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_格鲁特宝宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值