Vue【路由】

1:什么是单页应用程序(single page application)

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

2:单页面应用程序的优缺点

优点:按需更新性能高,开发效率也高,用户的体验较好

缺点:学习成本高,第一次加载慢,对seo搜索引擎不太优化

3:应用场景

单页面应用(系统类网站、内部网站,文档类网站,移动端站点)

4:什么是路由?

路由就是一种映射关系

5:Vue中的路由是什么?

vue中路由就是路径和组件之间的映射关系,通过路由我们可以知道,访问哪个路径来确定渲染哪个组件

6:VueRouter介绍

作用:修改地址栏路径,切换显示匹配的组件

说明:Vue官方的一个路由插件,是一个第三方包

官网:Vue Router

7:VueRouter的使用步骤(5+2)

5个基础步骤(固定)

如果没有yarn可先进行安装

npm install -g yarn

1:下载:下载VueRouter模块到当前工程,版本3.6.5

yarn add vue-router@3.6.5

2:在main.js入口文件中引入

import VueRouter from 'vue-router'

3:在main.js入口文件中注册

Vue.use(VueRouter)

4:在main.js创建路由对象

const router = new VueRouter()

5:在main.js注入,将路由对象注入到new Vue实例中,建立关联

new Vue({ render: h => h(App), router }).$mount('#app')

2个核心步骤

1:创建需要的组件(views目录),配置路由规则(就是组件和路径的映射关系)

2:配置导航,配置路由出口(路径匹配的组件显示的位置),router-view(组件展示的位置)

8:组件存放目录问题

组件分类:.vue文件分2类;页面组件&复用组件,注意:都是.vue文件(本质无区别)

问题1:组件分类有哪两类?分类的目的?

页面组件和复用组件,目的就是为了维护比较方便

问题2:放在什么文件夹?作用分别是什么?

页面组件-views文件夹 =>配合路由,页面展示

复用组件-components文件夹 => 封装复用

9:路由封装到指定的文件中

将路由组件从main.js文件中抽离出来,封装成固定的路由文件,在main.js文件中导入封装好的路由文件index.js,在vue实例中进行注册。

入口文件main.js

封装的index.js文件

路由模块的封装抽离的好处是什么?

拆分模块,利于维护

如何快速引入组件?

可以基于 @就是src目录,从src目录下出发找组件

10:使用router-link替代a标签并实现高亮(App.vue)

声明式导航

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

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

2:能高亮,默认就会提供类名,可以通过类名设置高亮样式

11:声明式导航-自定义两个类名

12:声明式导航-跳转传参

查询参数传参(参数名和值写在path路径上面):

代码演示

动态路由传参(参数值写在path路径上面)

代码示例:

两种传参方式的区别:

动态路由参数可选符(?)

13:路由重定向

网页打开,url默认的路径是 / ,而/又不能匹配到组件,页面打开因为匹配不到任何组件所以会显示空白

说明:重定向->匹配path后,强制跳转path的路径

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

示例:

14:配置路由 " * ",任意匹配

问题:当用户在地址栏上输入未知的路径时,路径无法映射到对应的组件,页面就会出现空白页面。

解决:通过配置路由 path :"*" ,来进行任意路径的匹配,当用户访问未知的路径,可以配置到系统中的404页面

位置:配在路由的最后,为什么要配在路由的最后面是因为,如果用户访问的路径有对应的组件映射,配在前面就会导致 * 直接拦截下来跳转到 * 所对应的组件,因为路由是按照从上到下的方式进行匹配的。

示例:

15:两种路由模式(hash,history)的区别

问题:路由的路径看起来不自然,有# ,能否切成真正的路径形式,即不带#的那种

路由模式有两种。

hash路由(默认):

history路由(常用):

16:编程式导航-两种路由跳转方式

第一种方式:push路径跳转

第二种方式:在路由中配置name,通过name进行跳转组件

总结:

1:通过路径跳转(简单方便)

2:通过路由名字跳转(适合路径长的场景)需要在路由文件中进行配置name

17:编程式导航-通过path和name跳转传参方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/560534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

卷王问卷考试系统/SurveyKing调查系统源码

SurveyKing是一个功能强大的开源调查问卷和考试系统,它能够快速部署并适用于各个行业。 这个系统提供了在线表单设计、数据收集、统计和分析等功能,支持20多种题型,提供多种创建问卷的方式和设置。 项 目 地 址 : runruncode.c…

JavaFX--基础简介(1)

一、介绍 中文官网:JavaFX中文官方网站OpenJFX 是一个开源项目,用于桌面、移动端和嵌入式系统的下一代客户端应用程序平台。openjfx.cn是OpenJFX(JavaFX)的标准中文翻译网站,致力于方便开发者阅读官方文档和教程。https://openjfx.cn/ JavaFX 是一个开…

2024第八届图像、信号处理和通信国际会议 (ICISPC 2024)即将召开!

2024第八届图像、信号处理和通信国际会议 (ICISPC 2024)将于2024年7月19-21日在日本福冈举行。启迪思维,引领未来,ICISPC 2024的召开,旨在全球专家学者共襄盛举,聚焦图像信号,在图像中寻找美&am…

袁庭新ES系列15节|Elasticsearch客户端基础操作

前言 上一章节我们介绍了搭建Elasticsearch集群相关的知识。那么又该如何来操作Elasticsearch集群呢?在ES官网中提供了各种语言的客户端,我们在项目开发过程中有多种Elasticsearch版本和连接客户端可以选择,那么他们有什么区别?这…

uniapp Android 插件开发教程

一、下载uniapp提供的SDK Android 离线SDK - 正式版 | uni小程序SDK 二、在uniapp创建一个项目 查看包名:发行--> 原生app 云打包 三、进入dcloud官网 开发者中心 进入 应用管理 --> 我的应用 --> 点击应用名称-->各平台信息-->新增 这里需要这…

【可视化大屏开发】19. 加餐-百度地图API实现导航加线路热力图

需求 Web端使用场景中会涉及到地图导航路线情况,并利用热力图显示路况信息。 实现效果如下: 输入起始地点,选择并开始导航 最终效果 思路步骤 利用百度地图API显示地图交通拥堵情况的热力图,需要按照以下步骤进行开发 步骤1&a…

面试被问懵了:手撕 Transformer

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 今年最大…

Vue入门篇:概念,快速入门,插值表达式,核心特性,基本Vue指令

目录 1.Vue是什么2.快速入门3.插值表达式{{}}1.作用:2.语法:3.插值表达式的注意点: 4.Vue响应式核心特性5.Vue指令 1.Vue是什么 Vue是一个流行的JavaScript框架,用于构建用户界面。它是一种用于构建单页面应用程序(SPA)的渐进式框架&#xff…

MySQL 列数据跨表拷贝,一句SQL快速将表A每条记录的某些字段拷贝到表B每条记录的某些字段(A、B表通过ID等字段对应)

文章目录 MySQL 列数据跨表拷贝,一句SQL快速将表A每条记录的某些字段拷贝到表B每条记录的某些字段(A、B表通过ID等字段对应)背景定义表填充测试数据跨表一 一对应拷贝列数据SQL参考资料 MySQL 列数据跨表拷贝,一句SQL快速将表A每条…

【C++】:函数重载,引用,内联函数,auto关键字,基于范围的for循环,nullptr关键字

目录 一,函数重载1.1 函数重载的定义1.1.1.形参的类型不同1.1.2参数的个数不同1.1.3.参数的顺序不同1.1.4.有一个是缺省参数构成重载。但是调用时存在歧义1.1.5.返回值不同,不构成重载。因为返回值可接收,可不接受,调用函数产生歧…

Python 比较文本文件

1、问题背景 我们需要比较一个文本文件 F 与路径下多个其他文本文件之间的差异。我们已经编写了以下代码,但只能输出一个文件的比较结果。我们需要修改代码,以便比较所有文件并打印所有结果。 import difflib import fnmatch import osfilelist[] f op…

Don‘t fly solo! 量化之路,AI伴飞

在投资界,巴菲特与查理.芒格的神仙友谊,是他们财富神话之外的另一段传奇。巴菲特曾这样评价芒格:他用思想的力量拓展了我的视野,让我以火箭的速度,从猩猩进化到人类。 人生何幸能得到一知己。如果没有这样的机缘&…

使用共振峰提取元音音素/从声音生成口型动画

视频效果 我前段时间研究了下从声音提取共振峰的方法。今天测试了下实际效果。 我使用一段33秒的女声视频,提取元音后使用静态视位图序列生成了一个视频,效果如下: b站视频: https://www.bilibili.com/video/BV1JD421H7m9/?vd_…

泛型的初步认识(2)

前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&#x…

MYSQL之增删改查(中)

前言: 以下是MySQL最基本的增删改查语句,很多IT工作者都必须要会的命令,也 是IT行业面试最常考的知识点,由于是入门级基础命令,所有所有操作都建立在单表 上,未涉及多表操作。 4、“查”——之单表查询 My…

html select 支持内容过滤列表 -bootstrap实现

实现使用bootstrap-select插件 http://silviomoreto.github.io/bootstrap-select <!DOCTYPE html> <html> <meta charset"UTF-8"> <head><title>jQuery bootstrap-select可搜索多选下拉列表插件-www.daimajiayuan.com</title>&…

部署ELFK+zookeeper+kafka架构

目录 前言 一、环境部署 二、部署ELFK 1、ELFK ElasticSearch 集群部署 1.1 配置本地hosts文件 1.2 安装 elasticsearch-rpm 包并加载系统服务 1.3 修改 elasticsearch 主配置文件 1.4 创建数据存放路径并授权 1.5 启动elasticsearch是否成功开启 1.6 查看节点信息 …

面试不慌张:一文读懂FactoryBean的实现原理

大家好&#xff0c;我是石头~ 在深入探讨Spring框架内部机制时&#xff0c;FactoryBean无疑是一个关键角色&#xff0c;也是面试中经常出现的熟悉面孔。 不同于普通Java Bean&#xff0c;FactoryBean是一种特殊的Bean类型&#xff0c;它的存在并非为了提供业务逻辑&#xff0c;…

使用Python进行自动化测试

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 如何使用Python进行自动化测试&#xff1a;测试框架的选择与应用 自动化测试是软件开发过程…

代码随想录算法训练营DAY28|C++回溯算法Part.4|93.复原IP地址、78.子集、90.子集II

文章目录 93.复原IP地址思路确定非法的范围树形结构 伪代码 78.子集思路伪代码实现CPP代码 90.子集II思路CPP代码用used去重的办法用set去重的版本不使用used数组、set的版本 93.复原IP地址 力扣题目链接 文章讲解&#xff1a;93.复原IP地址 视频讲解&#xff1a;回溯算法如何分…