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

Vue2-VueRouter

单页应用程序: SPA - Single Page Application

所有功能在 一个html页面 上实现

具体示例: 网易云音乐 https://music.163.com/

路由

Vue中路由:路径和组的映射关系

通过改变#/来控制不同的页面

VueRouter 的 使用 (5 + 2)

5个基础步骤 (固定)

2个核心步骤

一.创建组件并配置规则

二.准备导航链接,配置路由出口

路由的封装抽离

将路由模块抽离出来。 好处:拆分模块,利于维护

绝对路径:@指代src目录,可以用于快速引入组件

导出路由模块

在main.js接收

声明式导航 

导航链接

 <router-link to=" 路径 "></router-link>

vue-router 提供了一个全局组件 router-link (取代 a 标签)

能跳转,配置 to 属性指定路径(必须) 。本质还是 a 标签 ,to 无需 # 

实现导航高亮效果

router-link 自动给当前导航添加了两个高亮类名

运用这两个类给其施加高亮效果

还可以自定义这两个类的名字

跳转传参

在跳转路由时, 进行传值

查询参数传参

语法格式如下

to="/path?参数名=值"

对应页面组件接收传递过来的值

$route.query.参数名

动态路由传参

动态路由参数-可选符

路由重定向

网页打开, url 默认是 / 路径,未匹配到组件时,会出现空白

重定向 → 匹配path后, 强制跳转path路径

语法: { path: 匹配路径, redirect: 重定向到的路径 }

Vue路由 - 404

当路径找不到匹配时,给个提示页面

位置:配在路由最后

语法:path: "*" (任意路径) – 前面不匹配就命中最后这个

Vue路由 - 模式设置

hash路由(默认) 例如: http://localhost:8080/#/home

history路由(常用) 例如: http://localhost:8080/home (以后上线需要服务器端支持)

编程式导航

用JS代码来进行跳转

path 路径跳转

path跳转传参方式

查询参数传参


动态路由传参

name 命名路由跳转

查询参数传参

动态路由传参

嵌套路由

有时候我们会需要嵌套多级路由

在一级路由组件中准备二级路由出口

 组件缓存 keep-alive

数据重新加载了希望回到原来的位置

路由跳转后,组件被销毁了,返回回来组件又被重建了,所以数据重新被加载了

可以利用 keep-alive 将组件缓存下来

keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。 keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。

keep-alive的三个属性

当我们不想所有组件都被缓存时可以修改keep-alive的属性

include : 组件名数组,只有匹配的组件会被缓存

exclude : 组件名数组,任何匹配的组件都不会被缓存

max : 最多可以缓存多少组件实例

组件缓存后就不会执行组件的created, mounted, destroyed 等钩子了

所以其提供了actived 和 deactived钩子,帮我们实现缓存组件的业务需求。

在被缓存的组件中使用方法

activated 当组件被激活(使用)的时候触发 → 进入这个页面的时候触发

deactivated 当组件不被使用的时候触发 → 离开这个页面的时候触发

http://www.dtcms.com/a/297404.html

相关文章:

  • [LeetCode]每日温度
  • 基于深度学习的图像分类:使用Vision Transformer(ViT)实现高效分类
  • 机器学习 KNN 算法,鸢尾花案例
  • Typecho多语言解决方案:从插件到主题的完整实现
  • 第5章 Excel公式与函数应用指南(1):公式和函数基础
  • C++ Qt6 CMake qml文件启动方式说明
  • 进阶向:基于Python的简易屏幕画笔工具
  • 萤石云替代产品摄像头方案萤石云不支持TCP本地连接-东方仙盟
  • Zabbix配置自动发现
  • 二分查找-268.丢失的数字-力扣(LeetCode)
  • 火候:烹饪的温度密码
  • DNF: Decouple and Feedback Network for Seeing in the Dark
  • Java线程基础面试复习笔记
  • 主要分布在背侧海马体(dHPC)CA1区域(dCA1)的时空联合细胞对NLP中的深层语义分析的积极影响和启示
  • 高级06-Java网络编程:从Socket到HTTP
  • 数据结构3-单双链表的泛型实现及ArrayList与LinkedList的区别
  • VUE懒加载(4种方式)
  • 深入理解 BIO、NIO、AIO
  • Java并发编程第十篇(ConcurrentHashMap组件分析)
  • Zabbix7设置告警
  • SQL基础⑭ | 变量、流程控制与游标篇
  • 从语言关联到事件推演的跃迁之路-语义图谱、知识图谱与事理图谱:认知的三维拼图
  • IA课程作业
  • C++调用GnuPlot一维绘图
  • 后端项目中大量 SQL 执行的性能优化
  • Oracle 19C Data Guard :从原理到实践的高可用解决方案
  • 在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)
  • CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
  • 电科金仓新一代数据库一体机:以 “云数据库 - AI 版” 引领 AI 时代数据库变革
  • 文心4.5开源之路:从封闭到开放的力量