Vue.js中该怎么自己维护路由跳转记录
发表于:2023-03-24 作者:安全数据网编辑
编辑最后更新 2023年03月24日,小编给大家分享一下Vue.js中该怎么自己维护路由跳转记录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言在Vue的项目
小编给大家分享一下Vue.js中该怎么自己维护路由跳转记录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
前言
在Vue的项目中,如果我们想要做返回、回退操作时,一般会调用router.go(n)这个api,但是实际操作中,使用这个api有风险,就是会让用户跳出当前应用,因为它记录的是浏览器的访问记录,而不是你当前应用的访问记录,这是非常可怕的事情。
解决方案就是,我们自己来维护一份history跳转记录。
案例与使用场景
代码地址:https://github.com/dora-zc/mini-vue-mall (本地下载)
这是一个基于Vue.js的小型商城案例,应用场景:
自己实现一个Vue插件src/utils/history.js,通过堆栈的方式维护页面跳转的历史记录,控制返回跳转
点击返回按钮是出栈操作
在全局路由router.js 中,实例化路由前,通过原型扩展router的back()方法
在全局afterEach中存放历史记录
代码实现
实现history插件,维护历史记录
// src/utils/history.jsconst History = { _history: [], // 历史记录堆栈 install(Vue) { // 提供Vue插件所需安装方法 Object.defineProperty(Vue.prototype, '$routerHistory', { get() { return History; } }) }, push(path) { // 入栈 this._history.push(path); }, pop() { this._history.pop(); }, canBack(){ return this._history.length > 1; }}export default History;
在路由实例化之前,扩展back()方法
// src/router.jsimport Vue from 'vue'import Router from 'vue-router'import History from './utils/history';Vue.use(Router);Vue.use(History);// 实例化之前,扩展RouterRouter.prototype.goBack = function () { this.isBack = true; this.back();}
在路由全局afterEach中记录跳转历史
// src/router.js// afterEach记录历史记录router.afterEach((to, from) => { if (router.isBack) { // 后退 History.pop(); router.isBack = false; router.transitionName = 'route-back'; } else { History.push(to.path); router.transitionName = 'route-forward'; }})
在公用Header组件中使用
// Hearder.vue{{title}}
以上是"Vue.js中该怎么自己维护路由跳转记录"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
茗慧软件开发有限公司怎么样
放心的纸箱吸塑一体软件开发定制
服务器的ttl
国家对网络安全性的规范
积分记录 数据库设计
学校网络安全 管理制度
手机软件开发微信群
烟台大学数据库课程
敏捷软件开发用户故事
深圳市创速网络技术有限公司
宿迁货币量化交易软件开发公司
分布式服务器文件管理器
武汉网络安全教育
网络安全管理常识
长沙公安局招聘网络安全
空间数据库试卷
天津百泰网络技术有限公司
路南区网络营销软件开发
英国车辆网络安全准则
云数据库技术演出
关系模型数据库结构是二维表吗
组建小型公司数据库
清华同方K620服务器价格
智能网络安全培训课件
软件开发与运维入行
福建闽盾网络安全有限公司招聘
公安声纹数据库
电脑服务器内部组件图解
学生网络安全教育内容怎么写
广州乐拼互联网科技有限公司