vue 禁止浏览器后退
来源:互联网 发布:java迭代器中数组赋值 编辑:程序博客网 时间:2024/05/21 09:10
需求是:需要某个路由不能通过浏览器返回,同时不影响相互之间的切换
原文地址: https://segmentfault.com/q/1010000009527093?sort=created
整理一下解决方法 和 使用方法:
1.在路由配置中给这个路由添加meta信息,比如:
{ path: '/home', component: xxx, meta: {allowBack: false}}2.在全局的router.beforeEach 函数里面获取allowBack的状态,同时更新vuex的allowBack的值,如:
let allowBack = true // 给个默认值trueif (to.meta.allowBack !== undefined) { allowBack = to.meta.allowBack}if (!allowBack) { history.pushState(null, null, location.href)} store.dispatch('updateAppSetting', { allowBack: allowBack})
这段代码得写在next()的后面,因为写在next()前面location.href并不是to的地址,这点跟vue1.0有点不同
-----更新分割线-----
location.href 获取的仍不是to的地址,所以得根据to的信息来拼起来
3.接下来就是最核心的了,在app.vue的mounted里面写onpopstate事件:
window.onpopstate = () => { if (!this.allowBack) { // 这个allowBack 是存在vuex里面的变量 history.go(1) }}
原文地址: https://segmentfault.com/q/1010000009527093?sort=created
阅读全文
0 0
- vue 禁止浏览器后退
- 禁止浏览器后退
- 浏览器禁止 后退键
- Jquery禁止浏览器后退
- 实现禁止浏览器后退
- php 怎么禁止浏览器后退
- JS禁止浏览器后退键
- JS禁止浏览器后退键
- JS禁止浏览器后退键
- JS禁止浏览器后退键
- JS禁止浏览器后退键
- js禁止浏览器后退脚本
- js实现禁止浏览器后退
- vue中阻止浏览器后退
- 禁止浏览器前进和后退 清除缓存
- jquery 禁止用户点击浏览器后退键。
- (转)JS禁止浏览器后退键
- js禁止浏览器页面后退功能
- QComboBox实现复选框功能
- APP冷启动短暂白屏,附加Image全屏显示
- synchronized和ReentrantLock区别浅析
- 越来越多的黑客偏爱电子邮件网络钓鱼攻击
- 【c#】.NET中验证处理
- vue 禁止浏览器后退
- ArcGIS 10.2中栅格缺失值处理--Nodata in raster
- Python——时间与时间戳之间的转换
- Enumeration
- [YARN] 2.2 GB of 2.1 GB virtual memory used. Killing container.
- mosquitto在Linux环境下的部署/安装/使用/测试
- 002
- event的srcElement
- linux tar.gz zip 解压缩 压缩命令