位置: 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.

  • 80%的人都不懂的App推广思维(很多人不懂)

    80%的人都不懂的App推广思维(很多人不懂)

  • 开博尔电视盒子刷机(开博尔电视盒子)(开博尔电视盒子,手机遥控下载)

    开博尔电视盒子刷机(开博尔电视盒子)(开博尔电视盒子,手机遥控下载)

  • vivos6用的是什么处理器(vivos6好不好用)

    vivos6用的是什么处理器(vivos6好不好用)

  • 苹果6plus截屏快捷键(苹果6plus截屏快捷键怎么设置)

    苹果6plus截屏快捷键(苹果6plus截屏快捷键怎么设置)

  • ipad全贴合屏幕和非全贴合区别(ipad全贴合屏幕的型号)

    ipad全贴合屏幕和非全贴合区别(ipad全贴合屏幕的型号)

  • 华为p30修改定位虚拟位置(华为p30怎么修改位置)

    华为p30修改定位虚拟位置(华为p30怎么修改位置)

  • u盘读写速度一般多少(u盘读取速度和写入速度多少是正常的)

    u盘读写速度一般多少(u盘读取速度和写入速度多少是正常的)

  • 笔记本一晚上不关机可以吗(笔记本一晚上不关机会怎么样)

    笔记本一晚上不关机可以吗(笔记本一晚上不关机会怎么样)

  • b站录播在哪里看(b站录屏直播在哪)

    b站录播在哪里看(b站录屏直播在哪)

  • 美团退款被拒怎么处理(美团申请退款被拒后还怎么继续申请)

    美团退款被拒怎么处理(美团申请退款被拒后还怎么继续申请)

  • 小红书的文案怎么复制(小红书的文案怎么保存)

    小红书的文案怎么复制(小红书的文案怎么保存)

  • 为什么小米8手机耗电快(为什么小米8手机找不到OTG)

    为什么小米8手机耗电快(为什么小米8手机找不到OTG)

  • 爱奇艺能不能两人同时用会员登录(爱奇艺能不能两台电脑一起看)

    爱奇艺能不能两人同时用会员登录(爱奇艺能不能两台电脑一起看)

  • 手机qq语音闭麦是灰色还是白色(手机qq语音闭麦怎么回事)

    手机qq语音闭麦是灰色还是白色(手机qq语音闭麦怎么回事)

  • 13英寸笔记本多大长宽(13英寸笔记本多大长宽cm)

    13英寸笔记本多大长宽(13英寸笔记本多大长宽cm)

  • 快手改名字会降权吗(快手改名字会降权重吗)

    快手改名字会降权吗(快手改名字会降权重吗)

  • 爱奇艺怎么用激活码(爱奇艺怎么用激活码登录)

    爱奇艺怎么用激活码(爱奇艺怎么用激活码登录)

  • 汇编语言的特点是什么(汇编语言的特点有哪些方面)

    汇编语言的特点是什么(汇编语言的特点有哪些方面)

  • 荣耀手环4怎么添加表盘(荣耀手环4怎么添加门禁卡)

    荣耀手环4怎么添加表盘(荣耀手环4怎么添加门禁卡)

  • 苹果手机藏文输入法怎么启用(苹果手机藏文输入法怎么打)

    苹果手机藏文输入法怎么启用(苹果手机藏文输入法怎么打)

  • 基带坏了是什么症状(基带坏了是什么样子的)

    基带坏了是什么症状(基带坏了是什么样子的)

  • 知乎收藏夹怎么设置隐私(知乎收藏夹怎么删)

    知乎收藏夹怎么设置隐私(知乎收藏夹怎么删)

  • vue3使用拖拽组件draggable.next的使用教程【保姆级】(vue3 拖拽)

    vue3使用拖拽组件draggable.next的使用教程【保姆级】(vue3 拖拽)

  • bind命令  显示或设置键盘按键与其相关的功能(bind函数错误)

    bind命令 显示或设置键盘按键与其相关的功能(bind函数错误)

  • lspcmcia命令  显示扩展的PCMCIA调试信息(lspv命令详解)

    lspcmcia命令 显示扩展的PCMCIA调试信息(lspv命令详解)

  • 增值税发票税务ukey版开票流程
  • 专用发票只能公对公吗
  • 买车哪些费用不该交
  • 一般纳税人主表第一栏数据
  • 计算企业所得税可以扣除的项目有
  • 支付费用可以通过应收账款
  • 小规模纳税人销售额
  • 存货周转率多少好
  • 业务招待费的进项怎么算
  • 付给供应商远期延期支票怎么做账?
  • 收取加盟费会计如何入账
  • 调财务报表怎样调整
  • 销售中有运费收入吗
  • 个人企业属于什么部门管理
  • 固定资产丢失收据怎么写
  • 房屋租赁的税收政策
  • 学校有没有纳税人识别号
  • 一般纳税人施工费税率是多少
  • 有产权车位转让需要什么手续和费用
  • 差旅费应交税费会计科目
  • 资产负债表日后事项是什么意思?
  • 中小企业社保优惠延长政策
  • 货物销售价比采购价高
  • 支付佣金费用没扣怎么办
  • 公司转让税费如何计算
  • 移动纸质发票
  • 小规模纳税人如何开专票
  • 简易计税的方式
  • 开发票没有银行回单可以入帐吗?
  • 香椿的功效与作用百度百科
  • 进程cmd.exe
  • php str函数
  • 为员工租房租金怎么入账
  • 财务指标有哪四类
  • 用支票购入厂部办公用品2000元,车间办公用品1000元
  • 政府财政会计核算基础是什么
  • php静态属性和静态方法
  • 跨地区经营建筑企业预缴增值税
  • vue0
  • nodejs如何使用
  • [九]深度学习Pytorch-transforms图像增强(剪裁、翻转、旋转)
  • 微信php接口
  • 增值税直接减征的情形
  • 极速开票怎么打不开
  • PHPCMS num 参数是什么意思?
  • 给境外公司代扣代缴税款
  • mysql 字符集
  • sql group by
  • 分包工程款的账务处理
  • 主营业务收入和销售费用的区别
  • win7系统安装包在哪个文件夹
  • mysql切片
  • 资产减值损失科目借方增加还是减少
  • 逾期交房违约金 已支付金额
  • 余利宝和余额宝哪一个安全
  • 应收票据背书转让购买原材料
  • 费用化资本化对税收的影响
  • 工会经费计税依据是应发还是实发
  • 会计中的记账是什么意思
  • 房地产企业会计核算和税务处理大全
  • sql语句常用语句
  • windows xp简单操作教程
  • win7和winxp区别
  • win10应用商店应用少
  • 自己动手在家就可以自己理发视频
  • winxp注销快捷键
  • .exe是什么软件
  • ubuntu怎样调出命令行
  • win8商店还能用吗
  • linux下4种kill某个用户所有进程的方法
  • suse linux教程
  • win8系统怎么打开运行
  • opengl入门视频教程
  • [置顶] rwmfqg
  • node 加密解密
  • unity shader lerp
  • node.js怎么创建js文件
  • nodejs中间层的作用有哪些
  • 购车发票包含
  • 企业没有经营怎么写原因
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设