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

Vue2——单页应用程序路由的使用

一.单页应用程序与多页应用程序之间的比较

二.单页的应用场景

        系统类网站 / 内部网站 / 文档类网站 / 移动端网站

三.路由的介绍

        1. 什么是路由

                路由是一种映射关系

        2. Vue中的路由是什么

                路径和组件的映射关系

四.VueRouter的使用

        5个基础步骤(固定)

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

yarn/vue add vue-router@3.6.5 

        2. 引入

import VueRouter from 'vue-router'

       3. 安装注册

Vue.use(VueRouter)

        4. 创建路由对象

const router = new VueRouter()

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

new Vue({render: h => h(App),router
}).$mount('#app')
        2个核心步骤

        1. 创建需要的组件(views目录),配置路由规则

        2. 配置导航,配置路由出口(路径匹配的组件显示的位置)

五. 组件存放目录问题(组件分类)

分类开来 更易维护

·src / views文件夹

        ·页面组件 - 页面展示 - 配合路由用

·src / components文件夹

        ·复用组件 - 展示数据 - 常用于复用

六. 路由模块封装

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

        拆分模块,利于维护

以后如何快速引入组件

        基于@指代src目录,从src目录出发找组件

七. 使用router-link替代a标签实现高亮

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

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

2. 能高亮,默认就会提供高亮类名,可以直接设置高亮样式

·router-link-active模糊匹配(用的多)

        to='/my'可以匹配 /my /my/a /my/b ...

·router-link-exact-active精准匹配

        to='/my'仅可以匹配 /my

八. 自定义匹配类名

说明:router-link的两个高亮类名太长了,我们希望能定制

const router = new VueRouter({routes: [...],linkActiveClass: "类名1",linkExactActiveClass: "类名2"
})

九. 声明式导航 - 跳转传参

目标:在跳转路由时,进行传值

1. 查询参数传参

        1. 语法格式

                ·to='/path?参数名=值'

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

                ·$router.query.参数名

目标:在跳转路由时,进行传值

2. 动态路由传参

        1. 配置动态路由

        

const router = new VueRouter({routes: [...,{path: '/search/:words',component: Search}]
})

        2. 配置导航链接

                ·to="/path/参数值"

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

                ·$route.params.参数名

动态路由参数可选符

问题:配了路由path:"/search/:words"为什么按下面步骤操作,会未匹配到组件,显示空白

原因:/search/:words表示,必须要传参数。如果不传参数,也希望匹配,可以加个可选符"?"

 

const router = new VueRouter({routes: [{path: '/', redirect: '/home'},{path: '/home', component: Home},{path: '/search/:words?', component: Search}]
})

编程式导航-基本跳转

两种语法:

1. path路径跳转(简易方便)

this.$router.push('路由路径')this.$router.push({path: '路由路径'
})

2. name命名路由跳转(适合path路径长的场景) 

this.$router.push({name: '路由名'
})
{name: '路由名', path: '/path/xxx', component: xxx},

编程式导航-路由传参

两种传参方式:查询参数+动态路由传参

1.1 path路径跳转传参(query传参)

this.$router.push('/路径?参数名1=参数值1&参数2=参数值2')
this.$router.push({path: '/路径',query: {参数名1: '参数值1',参数名2: '参数值2'}
})

1.2 path路径跳转传参(动态路由传参)

this.$router.push('/路径/参数值')
this.$router.push({path: '/路径/参数值'
})

 2.1 name命名路由跳转传参(query传参)

this.$router.push({name: '路由名字',query: {参数名2: '参数值1',参数名2: '参数值2'}
})

             

相关文章:

Vue2——单页应用程序路由的使用

一.单页应用程序与多页应用程序之间的比较 二.单页的应用场景 系统类网站 / 内部网站 / 文档类网站 / 移动端网站 三.路由的介绍 1. 什么是路由 路由是一种映射关系 2. Vue中的路由是什么 路径和组件的映射关系 四.VueRouter的使用 5个基础步骤(固定) …...

变分法(Calculus of Variations)

变分法(Calculus of Variations)是数学的一个分支,主要研究函数的极值问题,即寻找一个函数,使得某个泛函达到最大值或最小值。泛函是将函数作为变量的函数,与通常的函数不同,泛函的变量是函数本…...

包括 Nginx、Gateway、Nacos、Dubbo、Sentinel、RocketMQ 和 Seata 的调用链路描述:

以下是一个更详细和清晰的客户端请求在 Spring Cloud Alibaba 框架中,包括 Nginx、Gateway、Nacos、Dubbo、Sentinel、RocketMQ 和 Seata 的调用链路描述: 1. 客户端请求 用户在浏览器或移动应用中发起请求(例如,获取用户信息的…...

【P2-1】ESP8266 WIFI模块STA、AP、STA+AP、TCP/UDP透传工作模式介绍与AT指令介绍

前言:本文对ESP8266 WIFI模块STA、AP、STA+AP、TCP/UDP透传工作模式进行介绍;以及AT指令介绍,包括基础AT指令,WIFI功能AT指令、TCP/IP相关AT指令、常用AT指令实例进行介绍。 ESP8266 WIFI模块的接线及固件烧写可参考我的这篇博客:正点原子ATK-ESP8266 WIFI模块接线及固件…...

《C#语法一篇通》,20万字,48小时阅读,持续完善中。。。

本文摘录了C#语法的主要内容,接近20万字。 所有鸡汤的味道都等于马尿! 如果你相信任何所谓的鸡汤文章,智商堪忧。 计算机语言没有”好不好“之说,骗子才会告诉你哪个语言好,学好任何一本基础语言(C&#…...

[node] 2 fs文件系统模块

前言 fs模块是Node.js官方提供的内置Api,用来操作文件的模块。它提供了一系列的属性和方法,来满足用户对文件的操作需求 目标 1 掌握fs中文件处理方法readFile、writeFile等的基础用法 2 node如何安装 3 一些常用的终端快捷键 #mermaid-svg-rPp2nDYrW33gLvuI {font-family:&q…...

【react】基础知识点学习

1. 创建项目 npm install -g create-react-app npx create-react-app my-app cd my-app npm startindex.js为入口文件,App.js为根组件。 如何将react应用挂载在页面上? 将App组件渲染到id为root的DOM元素中 2. JSX JSX是|avaScript和XML(HTML)的缩写…...

D4--哈夫曼树和不等式

看文先三连,养成好习惯~看文先三连,养成好习惯~看文先三连,养成好习惯~ 目录 知识点: 堆排序: 优先队列: 定义:(默认大顶堆) 入队: 出队: 取队顶&…...

详解RabbitMQ三种队列类型

RabbitMQ 是一个强大的消息队列系统,它提供了多种队列类型以满足不同的使用需求。本文将探讨三种主要队列类型:经典队列、仲裁队列和流式队列,并讨论它们的区别和选型建议。 经典队列(Classic Queues) 简介&#xff…...

openGauss数据库-头歌实验1-3 创建和管理模式

一、创建和使用模式 (一)任务描述 本关任务:基于 openGauss 学习创建模式的相关知识。 (二)相关知识 为了完成本关任务,你需要掌握:1.openGauss 的常用操作,2.SQL 创建模式相关语…...

森林火灾检测数据集(猫脸码客 第233期)

森林火灾检测数据集 森林火灾是一种具有巨大破坏性的自然灾害,每年在全球范围内造成巨大损失。为了有效应对森林火灾,及早发现和快速响应是至关重要的。传统上,森林火灾的检测主要依赖于人工巡逻和卫星遥感技术。然而,这些方法存…...

LeetCode100之找到字符串中所有字母异位词(438)--Java

1.问题描述 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例1 输入: s "cbaebabacd", p "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 …...

【Python】Python自习课:第一个python程序

【Python】Python自习课:第一个python程序...

DICOM标准:解析DICOM属性中的病人模块

目录 病人模块概述 1. 病人关系模块(Patient Relationship Module) 2. 病人识别模块(Patient Identification Module) 3. 病人统计模块(Patient Demographic Module) 4. 病人医学模块(Pati…...

C++设计模式创建型模式———生成器模式

文章目录 一、引言二、生成器/建造者模式三、总结 一、引言 上一篇文章我们介绍了工厂模式,工厂模式的主要特点是生成对象。当对象较简单时,可以使用简单工厂模式或工厂模式;而当对象相对复杂时,则可以选择使用抽象工厂模式。 工…...

基于微信小程序的校园失物招领系统的研究与实现(V4.0)

博主介绍:✌stormjun、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...

DDRNet模型创新实现人像分割

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【BiLSTM模型实现电力数据预测】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实…...

try…catch…finally语句里return语句的执行顺序是怎样的?

第一种情况 try语句块里面有return语句,catch语句块和finally语句块里面没有return语句。 代码如下: public class Main {public static void main(String[] args) {System.out.println(test1());}public static int test1() {int i 10;try {System.o…...

AIGC与虚拟现实(VR)的结合与应用前景

公主请阅 引言1. AIGC与VR的基本概念1.1 AIGC简介1.2 VR技术概述 2. AIGC在VR中的应用2.1 生成虚拟环境2.2 自动生成内容2.3 互动体验 3. AIGC与VR结合的应用案例3.1 教育培训3.2 娱乐与游戏3.3 心理治疗3.4 虚拟旅游 4. AIGC与VR结合的挑战4.1 技术限制4.2 用户体验4.3 数据隐…...

如何在visual studio中 生成 并 使用dll和lib文件

因为工作需求,要写lib和dll给别人使用。 使用visual studio2022 以函数 int getmyset() { return 0;} 为例子 首先 点击打开 visual studio 文件->新建->项目 选择windows桌面向导 选择应用程序类型为动态链接库.dll 分别创建MyDLL.h和MyDLL.cpp文件&a…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

浅谈不同二分算法的查找情况

二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况&#xf…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...

Shell 解释器​​ bash 和 dash 区别

bash 和 dash 都是 Unix/Linux 系统中的 ​​Shell 解释器​​,但它们在功能、语法和性能上有显著区别。以下是它们的详细对比: ​​1. 基本区别​​ ​​特性​​​​bash (Bourne-Again SHell)​​​​dash (Debian Almquist SHell)​​​​来源​​G…...

NineData数据库DevOps功能全面支持百度智能云向量数据库 VectorDB,助力企业 AI 应用高效落地

NineData 的数据库 DevOps 解决方案已完成对百度智能云向量数据库 VectorDB 的全链路适配,成为国内首批提供 VectorDB 原生操作能力的服务商。此次合作聚焦 AI 开发核心场景,通过标准化 SQL 工作台与细粒度权限管控两大能力,助力企业安全高效…...