位置: IT常识 - 正文

Vue3【路由元信息、过渡动效、滚动行为、路由懒加载、动态路由、路由高亮】(十一)-全面详解(学习总结---从入门到深化)(vue路由用法)

编辑:rootadmin
Vue3【路由元信息、过渡动效、滚动行为、路由懒加载、动态路由、路由高亮】(十一)-全面详解(学习总结---从入门到深化)

推荐整理分享Vue3【路由元信息、过渡动效、滚动行为、路由懒加载、动态路由、路由高亮】(十一)-全面详解(学习总结---从入门到深化)(vue路由用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue路由两种方式,vue路由两种方式,vue路由to from next,vue路由用法,vuex路由,vue路由元信息,vue 路由实现原理,vue路由元信息,内容如对您有帮助,希望把文章链接给更多的朋友!

  

👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者 📕系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人

目录

​路由元信息

过渡动效

滚动行为

路由懒加载

动态路由

 路由高亮


路由元信息

有时,你可能希望将任意信息附加到路由上,如过渡名称、谁可以访问路由等,这些事情可以通过接收属性对象的 meta 属性来实现 定义路由的时候你可以配置 meta 字段,这个 meta 就是路由元信息 

利用 meta 配合导航守卫完成判断用户是否登录在允许打开用户中心页面 

import { createRouter, createWebHistory } from 'vue-router'import HomeView from '../views/HomeView.vue'import UserInfoView from "../views/UserInfoView.vue"import LoginView from "../views/LoginView.vue"const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: HomeView }, { path: '/login', name: 'login', component: LoginView }, { path: '/about', name: 'about', component: () => import('../views/AboutView.vue'), meta:{ requiresAuth:false } }, { path: '/userinfo', name: 'userinfo', component: UserInfoView, meta:{ requiresAuth:true } } ]})router.beforeEach((to,from,next) =>{ let token = false; if(to.meta.requiresAuth){ if(!token){ next({ path:"/login" }) }else{ next() } }else{ next() }})export default router过渡动效

想要在你的路径组件上使用转场,并对导航进行动画处理,你需要使用 v-slot API 和 Transition API 

<template> <RouterLink to="/">Home</RouterLink> | <RouterLink to="/about">About</RouterLink> | <RouterLink to="/userinfo">用户中心</RouterLink> <router-view v-slot="{ Component }"> <Transition name="fade" > <component :is="Component"></component> </Transition> </router-view></template><script setup>import { RouterLink, RouterView} from 'vuerouter'</script><style scoped>.fade-enter-active,.fade-leave-active { transition: opacity 0.5s ease;}.fade-enter-from,.fade-leave-to { opacity: 0;}</style><router-view v-slot="{ Component,route }"> <Transition :name="route.meta.transition ? 'fade' : ''" > <component :is="Component"></component> </Transition></router-view>{ path: '/about', name: 'about', component: () => import('../views/AboutView.vue'), meta:{ transition:true }}滚动行为

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到, 而且更好,它让你可以自定义路由切换时页面如何滚动 

温馨提示

这个功能只在支持 history.pushState 的浏览器中可用 

const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: HomeView } ], scrollBehavior (to, from, savedPosition) { if (savedPosition) { return savedPosition } else { return { top: 0 } } }})

 延迟滚动

scrollBehavior (to, from, savedPosition) { return new Promise((resolve, reject) => { setTimeout(() => { resolve({ left: 0, top: 400 }) }, 500) })}路由懒加载

当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。 如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就会更加高效 

// 将// import LoginView from "../views/LoginView.vue"// 替换成const LoginView = () => import("../views/LoginView.vue")

 或者

{ path: '/login', name: 'login', component: () => import("../views/LoginView.vue")}动态路由Vue3【路由元信息、过渡动效、滚动行为、路由懒加载、动态路由、路由高亮】(十一)-全面详解(学习总结---从入门到深化)(vue路由用法)

对路由的添加通常是通过 routes 选项来完成的,但是在某些情况下,你可能想在应用程序已经运行的时候添加或删除路由 

添加路由 

用 router.addRoute() 新增加路由配置

router.addRoute({ path:"/news", name:"News", component:News})

添加多个路由

const currentRouter = [ { path:"/news", name:"News", component:News }, { path: '/about', name: 'about', component:About }]for(let i = 0;i<currentRouter.length;i++){ router.addRoute(currentRouter[i])}

删除路由

通过路由名字进行删除

router.removeRoute("about")

添加嵌套路由

要将嵌套路由添加到现有的路由中,可以将路由的 name 作为第一个参数

router.addRoute("News",{ path:"yule", component:Yule}) 路由高亮

在实现导航的时候,我们需要给导航添加高亮

active-class 

链接激活时,应用于渲染的 < a > 的 class

<RouterLink active-class="active" to="/">Home</RouterLink> |<RouterLink active-class="active" to="/about">About</RouterLink>

linkActiveClass

全局配置

const router = createRouter({ linkActiveClass:"active"})

exact-active-class

链接精准激活时,应用于渲染的< a >  的 class

<RouterLink exact-active-class="active" to="/">Home</RouterLink> |<RouterLink exact-active-class="active" to="/about">About</RouterLink>

 linkExactActiveClass

全局配置

const router = createRouter({ linkExactActiveClass:"active"})
本文链接地址:https://www.jiuchutong.com/zhishi/298539.html 转载请保留说明!

上一篇:开源小项目ChatGPT-website已获得100+star,我都干了什么(开源项目排行榜)

下一篇:openai.error.AuthenticationError: No API key provided.

  • 抖音看直播怎么点赞(抖音看直播怎么关闭声音)

    抖音看直播怎么点赞(抖音看直播怎么关闭声音)

  • 电脑版WPS文档编辑受限怎么办(电脑版wps文档编辑在哪里)

    电脑版WPS文档编辑受限怎么办(电脑版wps文档编辑在哪里)

  • 怎么查找重复的数据(怎么查找重复的身份证号)

    怎么查找重复的数据(怎么查找重复的身份证号)

  • mac抹除后出现地球(mac抹除后出现地球 然后怎么操作)

    mac抹除后出现地球(mac抹除后出现地球 然后怎么操作)

  • 5g组网方式分哪几种(5g的组网方式分别有哪些)

    5g组网方式分哪几种(5g的组网方式分别有哪些)

  • 苹果6s微信怎么设置暗黑模式(苹果6s微信怎么打开麦克风)

    苹果6s微信怎么设置暗黑模式(苹果6s微信怎么打开麦克风)

  • 抖音等级前面有个话筒是什么意思(抖音等级前面有太阳是什么)

    抖音等级前面有个话筒是什么意思(抖音等级前面有太阳是什么)

  • 空气切割机是什么镜头(空气切割是不是空气斩)

    空气切割机是什么镜头(空气切割是不是空气斩)

  • 手机直播为什么要推流(手机直播为什么会有杂音)

    手机直播为什么要推流(手机直播为什么会有杂音)

  • rne al00是什么型号(rne一al00是什么型号)

    rne al00是什么型号(rne一al00是什么型号)

  • windows10白屏解决方案(win10白屏怎么解决)

    windows10白屏解决方案(win10白屏怎么解决)

  • 快手可以同时两个手机登录吗(快手能不能弄两个号)

    快手可以同时两个手机登录吗(快手能不能弄两个号)

  • 苹果手机移动信号时有时无(苹果手机移动信号差是什么原因,有什么方法解决)

    苹果手机移动信号时有时无(苹果手机移动信号差是什么原因,有什么方法解决)

  • 安卓app是用什么语言(安卓app是用什么开发的)

    安卓app是用什么语言(安卓app是用什么开发的)

  • 荣耀v10能升级emui10系统吗(荣耀v10能升级鸿蒙系统吗)

    荣耀v10能升级emui10系统吗(荣耀v10能升级鸿蒙系统吗)

  • 抖音官方剪辑软件叫什么(抖音官方剪辑软件下载)

    抖音官方剪辑软件叫什么(抖音官方剪辑软件下载)

  • 无边框和全屏的区别(无边框全屏和全屏哪个消耗大)

    无边框和全屏的区别(无边框全屏和全屏哪个消耗大)

  • 安卓的游戏数据能同步到苹果吗(安卓的游戏数据鸿蒙能用吗)

    安卓的游戏数据能同步到苹果吗(安卓的游戏数据鸿蒙能用吗)

  • siri是美国哪家手机公司语音的(siri是美国哪家手机公司的语音控制)

    siri是美国哪家手机公司语音的(siri是美国哪家手机公司的语音控制)

  • 苹果11长多少厘米(苹果长多少厘米高多少厘米宽)

    苹果11长多少厘米(苹果长多少厘米高多少厘米宽)

  • 抖音上呼啦是什么(抖音呼啦圈视频教程)

    抖音上呼啦是什么(抖音呼啦圈视频教程)

  • 去除图片水印的方法(去除图片水印的软件)

    去除图片水印的方法(去除图片水印的软件)

  • 小米手机门卡怎么设置(小米手机门卡怎么迁移)

    小米手机门卡怎么设置(小米手机门卡怎么迁移)

  • 全民k歌唱歌出高分技巧(全民K歌唱歌出名了有什么好处)

    全民k歌唱歌出高分技巧(全民K歌唱歌出名了有什么好处)

  • 小米cc9防水吗(小米cc9防水吗?)

    小米cc9防水吗(小米cc9防水吗?)

  • 微信收藏文件过大无法查看怎么办(微信收藏文件过大怎么打开)

    微信收藏文件过大无法查看怎么办(微信收藏文件过大怎么打开)

  • 如何把表格放大(如何把表格放大到自己想要格式)

    如何把表格放大(如何把表格放大到自己想要格式)

  • 销售软件税目
  • 税务师考试咨询电话
  • 开具红字专用发票的条件
  • 经营性应付项目的增加怎么计算
  • 公司没有收入怎么报销
  • 固定资产与累计折旧有对应关系吗
  • 附加税减半征收政策从什么时候开始
  • 发票没有写纳税人识别号可以吗
  • 工会筹备金免征政策
  • 不动产转让费用咋算
  • 印花税计入应交税费需要调整吗
  • 企业房产税如何申报缴纳
  • 进出口经营权什么意思
  • 不能抵扣的进项税怎么做账
  • 高速公路通行费专用发票可以抵扣吗
  • 企业所得税报表模板
  • 企业盈利所得税交多少
  • 多付工资计入哪个科目
  • 付下一年房租会计分录
  • 税务申报系统叫什么
  • 现金预算在企业财务管理中是何地位
  • 所得税收入减免政策
  • 固定资产无偿移交怎么做账
  • 业务招待费不超过销售收入的5‰
  • 小规模纳税人有销无进是什么意思
  • edge浏览器设置主页网址
  • 为什么我的windows10
  • 工程施工怎么结转到成本里
  • 购买监控设备费用谁出
  • sharedprem.exe - sharedprem是什么进程 有什么作用
  • 支付保证金需要附件
  • 控股公司的账务处理
  • 债券溢折价是什么意思
  • 浏览器分析
  • nginx搭建静态资源服务器
  • 原生js操作数组的方法
  • es6箭头函数写法
  • 无形资产的转让
  • 企业可以将自己辞退吗
  • 被投资的公司注销后投资公司怎么处理
  • 个人代人开普票要交几个点税
  • 出租厂房计提折旧会计分录
  • 公允价值变动损益影响利润总额吗
  • 商铺转让费的会计分录
  • 对方开具红字发票,我方怎么查询
  • db2入门
  • 员工加班餐费算什么费用
  • sql server获取字段长度
  • 企业如何进行促销
  • 当月只有进项票没有销项票怎么办
  • 专用发票样图
  • 开票系统的维护与保养
  • 中标单位支付代理费
  • 行政事业单位预算一体化账务处理
  • 融资租赁的固定资产计提折旧吗
  • 货物发出退货
  • 开票方与付款方不一致问题
  • 城建税教育费附加会计分录
  • 做假账本怎么判
  • sql的查询分析器
  • sqlserver按时间查询
  • centos failed to start login service
  • win8 start menu
  • win7下安装XP
  • 五种修改方法
  • 学习笔记一
  • ExtJS TabPanel beforeremove beforeclose使用说明
  • 什么是自然数
  • img可以设置的属性
  • python3安装pygame
  • python日历查询系统
  • vue的挂载
  • js中的垃圾回收机制有哪些方法
  • 批处理修改文件名称
  • jquery lazyload
  • 详细分析使用AngularJS编程中提交表单的方式
  • webpack循环引用
  • win7怎么装python3.8
  • 北京市税务局 案件
  • 宏观经济十大因素有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设