当前位置: 首页 > 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() || ''
})

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

相关文章:

  • PythonTSK Study for second day (code read)
  • 学习使用echats实现双刻度echarts双Y轴,左右Y轴数据的方法
  • 2023-12-23 LeetCode每日一题(移除石子使总数最小)
  • Android 13 - Media框架(27)- ACodec(五)
  • typore自定义删除线快捷键
  • JavaScript中alert、confrim、prompt的使用及区别【精选】
  • 新能源汽车冷却系统的水道管口类型有哪些?格雷希尔针对这些管口密封的快速接头有哪些?
  • 第6课 用window API捕获麦克风数据并加入队列备用
  • navicat premium历史版本下载及更新navicat premium15 永久(使用)有效期
  • JavaScript元素根据父级元素宽高缩放
  • 2024-01-01 力扣高频SQL50题目 练习笔记
  • 【51单片机系列】DS18B20温度传感器扩展实验之设计一个智能温控系统
  • 爬虫工作量由小到大的思维转变---<Scrapy异常的存放小探讨>
  • 反射型xss的常用语法
  • 二叉树 经典例题
  • php的引用
  • CSS实用技巧
  • Java-详解HashMap
  • Java新版本的开发已正式进入轨道,版本号18.3
  • JS笔记四:作用域、变量(函数)提升
  • mysql 5.6 原生Online DDL解析
  • Python3爬取英雄联盟英雄皮肤大图
  • spark本地环境的搭建到运行第一个spark程序
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 解析 Webpack中import、require、按需加载的执行过程
  • 聚簇索引和非聚簇索引
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端攻城师
  • 驱动程序原理
  • 如何解决微信端直接跳WAP端
  • 算法系列——算法入门之递归分而治之思想的实现
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 自制字幕遮挡器
  • Prometheus VS InfluxDB
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (175)FPGA门控时钟技术
  • (3)(3.5) 遥测无线电区域条例
  • (30)数组元素和与数字和的绝对差
  • (7)STL算法之交换赋值
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)http-server应用
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core 项目指定SDK版本
  • .net 简单实现MD5
  • .NET中的Exception处理(C#)
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @基于大模型的旅游路线推荐方案