当前位置: 首页 > news >正文

vue3-12

需求是用户如果登录了,可以访问主页,如果没有登录,则不能访问主页,随后跳转到登录界面,让用户登录

实现思路,在用户登录之前做一个检查,如果登录了,则token是存在的,则放行,如果没有token,则不能访问主页,随后跳转到登录界面,让用户登录

在src\router\a6router.ts中编写代码

//在每次路由跳转之前都会执行beforeEach里面的箭头函数,to代表要跳转的目标路由对象,from代表源路由对象
router.beforeEach((to,from)=>{if(to.name ==='main' && !serverToken.value){return '/login'}
})

vue的程序有一个特点,它是一个单页面的程序,也就是不管组件有多少,路由怎么跳转,最外层的html页面只有一个,也就是项目根路径下的index.html,所有的组件都会包含在这个文件当中

index.html文件内容如下 

<!doctype html>
<html lang="en"><head><meta charset="UTF-8" /><link rel="icon" type="image/svg+xml" href="/vite.svg" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Vite + Vue + TS</title></head><body><div id="app"></div><script type="module" src="/src/main.ts"></script></body>
</html>

这样有一个缺点,就是所有的组件的title都是Vite + Vue + TS

长按浏览器的后退按钮可以选择回退到指定的页面,但是所有的页面标题都一样就无从选择

那需求就是让每个组件都有自己的页面标题

通过 document.title可以获取当前页面的标题

通过 document.title='新值'可以修改当前页面的标题

在src\router\a6router.ts文件中写入代码

//修改页面标题
router.afterEach((to,from)=>{
//把页面标题设置为源路由对象的name属性值
document.title = to.name?.toString() || ''
})

这个时候再长按浏览器的后退按钮就有每个页面的特定标题了

http://www.lryc.cn/news/271223.html

相关文章:

  • 操作系统期末复习
  • element el-table实现可进行横向拖拽滚动
  • 【兔子王赠书第14期】《YOLO目标检测》涵盖众多目标检测框架,附赠源代码和全书彩图!
  • WPF 基础入门(样式)
  • Java ArrayList在遍历时删除元素
  • 多模态大模型的前世今生
  • Android studio 花式按键
  • 使用spring boot实现异常的统一返回
  • 2023-12-11 LeetCode每日一题(最小体力消耗路径)
  • PID为1的僵尸进程的产生及清理
  • 043、循环神经网络
  • node使用nodemonjs自动启动项目
  • Ts自封装WebSocket心跳重连
  • 【unity学习笔记】捏人+眨眼效果+口型效果
  • 动态规划 | 最长公共子序列问题
  • RuntimeError: The NVIDIA driver on your system is too old.
  • Java开发过程中的幂等性问题
  • 基于Docker的软件环境部署脚本,持续更新~
  • C#上位机与欧姆龙PLC的通信08----开发自己的通讯库读写数据
  • 【Redis技术专区】「原理分析」探讨Redis6.0为何需要启用多线程
  • simulink代码生成(六)——多级中断的配置
  • 【Minikube Prometheus】基于Prometheus Grafana监控由Minikube创建的K8S集群
  • 无需翻墙|Stable Diffusion WebUI 安装|AI绘画
  • 在FC中手工创建虚拟机模板
  • OpenSSL provider
  • pandas处理双周数据
  • 2023结婚成家,2024借势起飞
  • linux SHELL语句
  • 音频修复和增强软件:iZotope RX 10 (Win/Mac)中文汉化版
  • 复试 || 就业day03(2023.12.29)算法篇