首页 > 其他分享 >DAY20240908 VUE:一文带你了解Vue Router中的声明式导航

DAY20240908 VUE:一文带你了解Vue Router中的声明式导航

时间:2024-09-08 20:53:51浏览次数:15  
标签:VUE DAY20240908 li Vue link 跳转 组件 router class

VUE:声明式导航

一、链接跳转方式-------声明式导航的引入

链接跳转可以用location.href跳----编程式跳转 js的跳转方式
请添加图片描述
链接跳转可以用超链接 声明式跳转 端口号 域名都可以省略。3-13行**请添加图片描述

二、声明式导航

在 Vue.js 应用中,可以通过监听路径的改变来实现组件的动态高亮显示。每当路径发生变化时,使用 window.onhashchange 事件监听器或通过 location.hash 获取哈希值,并进行相应的操作。ECMAScript 提供了 onhashchange 事件,该事件属于浏览器对象模型(BOM),每次路径改变时都会触发window.onhashchange 事件,从而可以用于执行相应的高亮逻辑。

此外,Vue Router 提供了声明式导航功能,如 router-link 组件,能够实现更加直观和简洁的路径导航。借助 router-link,开发者可以定义一个可点击的链接,实现路径切换并触发相应的组件更新。通过监测 router-link 的 to 属性所指向的路径变化,可以动态控制与当前路径匹配的组件的高亮效果

下图567 8910行展示了router-link 组件的使用
请添加图片描述
观察右侧:每次切换到的组件上会自动加这个class: router-link-exact-active router-link-active
请添加图片描述
我们可以给这个class .router-link-active 加css设置,如图颜色设置。27 28行
请添加图片描述
当然我们可以改变class的名字:(因为一个页面中用到多次router-link-active,所以我们可以自定义class名为其他的active-class=" kerwinactive" 动态切换class请添加图片描述观察到右侧每次切换到的组件上会自动加这个kerwinactive请添加图片描述
记得修改自定义的kerwinactive的css设置。
请添加图片描述
注意:APP.vue里的 to里面的内容不是瞎写的,要和index.js的内容是一致的。6 9 行 对应下图index.js路由文件里的11 15行。
请添加图片描述
请添加图片描述
tag=“li” tag属性可以模拟我是谁?此时代码没有包裹在li标签里面,但是由于tag=“li”的原因,渲染出来仍然是li样式
请添加图片描述
请添加图片描述
但是不支持在Vue Router 4 新版本中不支持tag。
请添加图片描述
在Vue Router 4的时候,只能使用custom自定义的插槽模式了。只有to属性没改变,但是之前的active-class=““不能用,tag=“”也不能用了。只能用以下方式:
请添加图片描述
请添加图片描述
插槽的方式更灵活,可扩展性更好,但是用起来可能不太习惯。
插槽示例代码:12 13 14 custom v-slot=”{}” v-slot传进去一个对象。
请添加图片描述

再加上isActive表示当前是否被选中
请添加图片描述
请添加图片描述
在此基础上就可以细粒度的控制了,高亮没加在li身上,加在li里面身上了。
请添加图片描述
router-link是个组件,然后to也可以动态绑定的,然后to指向变量,这样就可以用for循环遍历出来了。

三、官方文档

vue的官方文档:
请添加图片描述

路由的官方文档:
请添加图片描述

四、引入

【1】https://www.bilibili.com/video/BV17z4y1D7Yj/?p=504&spm_id_from=333.880.my_history.page.click

标签:VUE,DAY20240908,li,Vue,link,跳转,组件,router,class
From: https://blog.csdn.net/weixin_52881828/article/details/141939300

相关文章

  • DAY20240908 VUE:一文带你了解Vue 中的嵌套路由
    VUE:嵌套路由一、嵌套路由目录新建文件夹:体现嵌套关系。Films.vue文件变化index.js文件变化二、嵌套路由和二级路由的关系三、参考一、嵌套路由何谓嵌套路由,参考如下:上面有一个大的轮播图,下面一个二级的声明式导航,可以切换二级选项卡,此时只有二级路径在变,轮播图保......
  • VUE框架基于Vite的Vue3搭建项目的脚手架------VUE框架
    data:redis:lettuce:cluster:refresh:adaptive:trueperiod:2000pool:max-idle:8min-idle:0max-wait:-1msmax-active:8password:abc123......
  • 基于Node.js+vue基于WEB的在线阅读系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和普及,人们的阅读习惯正经历着深刻的变革。传统的纸质阅读方式逐渐被数字化、网络化所取代,在线阅读因其便捷性、即时性和丰富性成......
  • 基于Node.js+vue基于app的农产品销售系统的设计与实现(开题+程序+论文) 计算机毕业设
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着移动互联网技术的迅猛发展,智能手机已成为人们日常生活中不可或缺的一部分,极大地改变了人们的消费习惯与生活方式。在农业领域,传统的农产品销售模式往往......
  • 基于Node.js+vue机票订单管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着全球经济的飞速发展和人们生活水平的提高,航空旅行已成为人们出行的重要方式之一。机票预订市场的日益繁荣,不仅促进了航空业的发展,也对机票订单管理提出......
  • 基于Node.js+vue基于的仓储管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代物流业的快速发展,仓储管理作为供应链管理中至关重要的一环,其效率与准确性直接影响到企业的运营成本与客户满意度。传统的人工仓储管理模式已难以应......
  • class 4: vue.js 3监听器 watch
    某些情况下需要监听某个响应式数据的变化,这时就需要使用监听器(watch)来实现了watch的使用语法如下选项:watch类型:{[key:string]:string|Function|Object|Array}详解:watch属性是一个对象,该对象的键(key)是需要观察的表达式,值(value)可以是回调函数、方法名等。Vu......
  • vue3知识总结
    Vue3是Vue.js的最新版本,相较于Vue2,它在性能、API设计、类型支持等多个方面都有显著的改进和创新。以下是对Vue3知识的总结:一、性能优化响应式系统升级:Vue3使用Proxy替代了Vue2中的Object.defineProperty,实现了对对象变化的更广泛监测,包括对象的添加和删除,......
  • 基于Pinia和Compute的持久化localStorage登录态管理Vuejs 源码教学
    piniaPinia是一个专为Vue3设计的状态管理库,它借鉴了Vuex的一些概念,但更加轻量灵活,使得状态管理变得更加简单直观。Pinia通过提供一种基于Vue3响应式API的状态管理机制,让我们可以更加优雅地管理应用程序的状态。computedVue的computed属性是一种特殊的数据属性,它们根据组......
  • Java毕业设计源码 - ssm框架网上服装销售系统+jsp+vue+数据库mysql+毕业论文等
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求/流程分析3、系统功能结构三、系统实现展示1、用户功能模块2、管理员功能模块四、毕设内容和源代码获取总结逃逸的卡路里博主介绍:✌️码农一枚|毕设布道师,专注于大学生项目实战开发、......