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.mzph.cn/news/826362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring的redis注解@Cacheable @Cacheput @CacheEvict的condition、unless

概述 redis的注解使用的过程中总会遇到condition和unless这两个属性,而且不同的注解使用注意事项不一样。本人也是错误使用之后详细查询了一下,作了如下的总结。 Cacheale 这个注解的使用和意义这里不多说,可以查看我的其他文档。这里主要说…

java:Java中的抽象类

什么是抽象类: 我们知道,类用来模拟现实的事物,一个类模拟一类事物,某个类的一个实例化对象可以模拟某个属于该类的具体事物。类中描绘了该类所有对象的共同的特性,当一个类中给出的信息足够全面时候,我们就…

docker灵活部署mysql

博客简要 用docker部署mysql,并将数据库映射到主机上,并增加远端访问mysql数据库 当你使用Docker运行MySQL时,并且希望将MySQL数据库的数据存储在宿主机(也就是运行Docker的主机)上的特定路径,你需要在启动容器时通过…

Axure设计原型图工具 Windows11安装步骤详解

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 Axure 是一个流行的原型设计工具,它被用来创建交互式原型、线框图和用户界面设计。Axure 可以帮助用户在项目早期阶段快速制作出可交互的原型,以便进行用户测试、验证设计概念和与…

机器学习和深度学习--李宏毅(笔记与个人理解)Day17

Day 17Convolutional Neyral Network (CNN) 卷积神经网络一般都用在image 上面比较多一些,所以课程的例子大多数也都是image Image Classification the same size how about for pc? 这里对于tensor 张量这个概念,我还是比较奇怪,在我认为一…

ssm 体检预约管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm 体检预约管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库, 系统主要采用B/S…

JET毛选学习笔记:如何利用《实践论》学习实验

一、个人背景介绍 本人本科读的是预防医学专业(因为没考上临床),硕博连读(报名人少,我报了就得了)的时候专业是流行病与卫生统计学,除了学习流行病学、统计学(忘得差不多了&#xf…

2024-4-19 群讨论:JVM 堆外内存如何查看?

以下来自本人拉的一个关于 Java 技术的讨论群。关注公众号:hashcon,私信进群拉你 JVM 堆外内存如何查看? 参考:https://juejin.cn/post/7225871227743043644 分为: 通过 Native Memory Tracking 能看到的&#xff1…

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

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

二分答案复习

y总二分查找算法模板 int bsearch_1(int l, int r) {while (l < r){int mid l r >> 1;//性质在右边&#xff0c;区间划分成[l, mid]和[mid 1, r]if (check(mid)) r mid;else l mid 1;}return l; }int bsearch_2(int l, int r) {while (l < r){int mid l r …

LCR 023. 相交链表

给定两个单链表的头节点 headA 和 headB &#xff0c;请找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&#xf…

Git - 在PyCharm/Idea中集成使用Git

文章目录 Git - 在PyCharm/Idea中集成使用Git1.新建GitHub仓库2.将仓库与项目绑定3.在PyCharm中使用Git4.新建Gitee仓库5.将仓库与项目绑定6.在IDEA中使用Git Git - 在PyCharm/Idea中集成使用Git 本文详细讲解了如何在 PyCharm 或 Idea 中配置 Gitee 或 GitHub 仓库&#xff0…

《黑羊效应》一群好人欺负一个好人,其他好人却坐视不管的诡谲现象 - 三余书屋 3ysw.net

黑羊效应&#xff1a;一群好人欺负一个好人&#xff0c;其他好人却坐视不管的诡谲现象 大家好&#xff0c;今天我们要解读的书是《黑羊效应》。黑羊效应是一种心理陷阱&#xff0c;指的是一群好人欺负一个好人&#xff0c;而其他好人却坐视不理。我们每个人或多或少都目睹过或…

每日一题

腐烂的苹果_牛客题霸_牛客网 思路分析:广度优先遍历&#xff0c;找到所有腐烂的苹果同时向四方扩散&#xff0c;就是第一轮把所有腐烂的苹果加入队列中&#xff0c;这就跟MQ的消息队列的原理差不多&#xff0c;第一次记录队列的长度&#xff0c;广度遍历一次&#xff0c;长度--…

HCIP-OSPF综合实验

一实验拓扑图 二.实验要求 1、R4为ISP&#xff0c;其上只配置IP地址&#xff1b;R4与其他所直连设备间均使用公有IP&#xff1b; 2、R3-R5、R6、R7为MGRE环境&#xff0c;R3为中心站点&#xff1b; 3、整个OSPF环境IP基于172.16.0.0/16划分&#xff1b;除了R12有两个环回&…

Xinstall:让URL打开App变得如此简单

在移动互联网时代&#xff0c;App已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;在使用App的过程中&#xff0c;我们常常会遇到一些烦恼。比如&#xff0c;当我们通过一个网页链接想要打开对应的App时&#xff0c;往往需要先复制链接&#xff0c;然后在App中粘贴&a…

力扣287. 寻找重复数

Problem: 287. 寻找重复数 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 利用二分查找搜索1 ~ n中重复的元素&#xff0c;我们每次取出当前二分查找的区间的中间元素mid并在元始的数组nums中统计小于mid的元素的个数count&#xff1a; 若count > mid则说明重复的…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 4月20日,星期六

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年4月20日 星期六 农历三月十二 1、 证监会&#xff1a;调降基金股票交易佣金费率&#xff0c;年度降幅测算将达38%&#xff0c;7月1日起实施。 2、 民政部举办全国“乡村著名行动”培训班&#xff0c;助力乡村振兴。 3、…

OJ刷题日记:4、滑动窗口(2)

目录 1、904.水果成篮 2、438.找到字符串中所有字母异位词 3、30.串联所有单词的子串 4、76.最小覆盖子串 1、904.水果成篮 题目&#xff1a; 904. 水果成篮 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/fruit-into-baskets/description/ 你正在…

ROS2学习笔记(一) 基本概念

1. Node 节点 节点: 完成具体功能的模块 相关命令 #运行命令 ros2 run <package_name> <executable_name>#当前节点查询查询 ros2 node list#重映射 Remapping ros2 run <package_name> <executable_name> --ros-args --remap __node:<node_na…