Vue路由

article/2025/9/18 1:46:04

目录

 

一、路由的概念

 二、事前准备

三、 路由的相关知识点

3.1 路由的基本认识

3.2  路由小案例

3.3  路由模式的切换

3.4  指定路由的渲染位置

3.5  声明式导航

3.5.1  无参模式

3.5.2  传参模式

3.5.3  $route 与$router的区别

3.6  编程式导航

3.6.1  第一种get方式 

3.6.2  第二种get方式 

3.6.3  post传参方式

3.6.4  常见BUG

3.7  路由重定向

3.7.1  概念

3.7.2  代码演示

3.8  404路由

3.8.1  概念

3.8.2  代码演示

3.9  嵌套路由

3.9.1  概念

3.9.2  代码演示 

3.10  动态路由

3.10.1 概念

3.10.2 代码演示


一、路由的概念

路由的本质就是一种对应关系(此处的路由含义同之前nodejs的路由),根据不同的URL请求,返回对应不同的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由。

路由分为:后端路由前端路由

后端路由:由服务器端进行实现并实现资源映射分发(nodejs、jsp、php等)

  • 概念:根据不同的用户URL请求,返回不同的内容(地址与资源产生对应关系)

  • 本质:URL请求地址与服务器资源之间的对应关系(映射)

 

前端路由:根据不同的事件来显示不同的页面内容,是事件与事件处理函数之间的对应关系

  • 概念:根据不同的用户事件,显示不同的页面内容(地址与事件产生对应关系)

  • 本质:用户事件与事件处理函数之间的对应关系

 二、事前准备

(1)安装脚手架,创建新项目。

vue  create   项目名    //创建项目

脚手架安装详见往期博客。

(2) 基本配置

 

 

  

 (3)完成安装

三、 路由的相关知识点

 3.1 路由的基本认识

注意看以下图片的的注释

3.2  路由小案例

src/views/Home.vue的代码

<template><div><h1>这里是HOME分页</h1></div>
</template>
<script>
export default {
}
</script>
<style>
</style>

src/views/About.vue的代码

<template><div><h1>这是about分页</h1></div>
</template>
<script>
export default {
}
</script>
<style>
</style>

index.js文件配置

app.vue文件更改,引用router-view

<template><div id="app"><!-- 渲染容器 --><router-view/></div>
</template>

 运行效果:

 3.3  路由模式的切换

vue-router中默认使用hash模式的路由,也就是地址栏中URL带有#形式,如果需要切换成history模式可在创建路由实例时进行指定指定的配置项为   mode

代码演示

 hash模式的url地址栏

 history模式的url地址栏

 3.4  指定路由的渲染位置

主要使用 <router-view/>标签去实现。

代码演示 

运行结果

3.5  声明式导航

主要通过 <router- link to=""></ router- link>标签实现

3.5.1  无参模式

 运行结果

3.5.2  传参模式

与无参模式的区别在于to = ""的内容不同,以及组件的定义规则不同

代码演示

 运行结果

 3.5.3  $route 与$router的区别

$router是用于做编程式导航的(改变路由的);$route是用户获取路由信息的。

3.6  编程式导航

简单来说,编程式导航就是通过JavaScript来实现路由跳转

3.6.1  第一种get方式 

运行结果

 

 3.6.2  第二种get方式 

  3.6.3  post传参方式

这里需要注意三个点

  1. post传参方式刷新会导致数据丢失
  2. this.$route.params接收参数
  3. URL地址栏传参隐藏

 第一次

重复刷新 

3.6.4  常见BUG

注意点:编程式导航在跳转到与当前地址一致的URL时会报错,但这个报错不影响功能

解决方法:

在index.js文件中添加以下一段代码

// 该段代码不需要记,理解即可
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function push(location) {return originalPush.call(this, location).catch((err) => err);
};

3.7  路由重定向

3.7.1  概念

  • 概念:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面

  • 实现: 通过路由规则的redirect属性,指定一个新的路由地址,可以很方便地设置路由的重定向

 3.7.2  代码演示

 

可以看到我只要访问根目录就会跳转到/home页面。

3.8  404路由

3.8.1  概念

作用:用于处理当路由匹配不上的时候页面的展示(不做404路由,则页面显示白板页面)

由于Vue路由是从上到下执行的,只要在路由配置规则中最后面放个*号(通配符)路由就可以

3.8.2  代码演示

3.9  嵌套路由

3.9.1  概念

路由前缀: /admin/user/add /admin/user/del /admin/user/mod

相同部分可以提取出来,减少重复劳动。

————————————以上为nodejs中的概念————————————————

上述概念在vue中被称之为叫做嵌套路由。

套娃,可以按照之前的nodejs处的路由前缀去理解。(当有些路由有公共部分的前缀时,在vue中就可以使用嵌套路由)

嵌套路由最关键在于理解子级路由的概念:

比如我们有一个/users的路由,那么/users下面还可以添加子级路由,如:/users/index/users/add等等,这样的路由情形称之为嵌套路由。

核心思想:在父路由组件的模板内容中添加子路由链接和子路由填充位(占坑),同时在路由规则处为父路由配置children属性指定子路由规则

3.9.2  代码演示 

3.10  动态路由

3.10.1 概念

所谓动态路由就是路由规则中有部分规则是动态变化的,不是固定的值,需要去匹配取出数据(即路由参数)。

  • 如何传递

    在声明路由的时候,将可变部分通过“:变量名”的形式进行替代

  • 如何获取

    获取this.$route来获取

3.10.2 代码演示


http://chatgpt.dhexx.cn/article/mYIU9KFA.shtml

相关文章

Vue动态路由使用(后端控制)

使用VUE开发后台管理系统 完全由后端控制左边菜单项思路 在传统开发后台管理系统时&#xff0c;都会涉及权限控制这一功能需求 即&#xff1a;根据不同登录的角色账号来使用该账号拥有的功能&#xff0c;也就是说系统左边的菜单栏不是固定不变的&#xff0c;而是根据登录账号的…

Vue学习:路由

2. 路由 2.1 前端路由的发展历程 2.1.1 认识前端路由 路由其实是网络工程中的一个术语&#xff1a; 在架构一个网络时&#xff0c;非常重要的两个设备就是路由器和交换机。 ​ 当然&#xff0c;目前在我们生活中路由器也是越来越被大家所熟知&#xff0c;因为我们生活中都…

vue权限控制和动态路由

思路 登录&#xff1a;当用户填写完账号和密码后向服务端验证是否正确&#xff0c;验证通过之后&#xff0c;服务端会返回一个token&#xff0c;拿到token之后&#xff08;我会将这个token存贮到localStore中&#xff0c;保证刷新页面后能记住用户登录状态&#xff09;&#xf…

Vue 路由权限控制

当我们在做后台管理系统的时候&#xff0c;都会涉及到系统左侧的菜单树如何动态显示的问题。目前基本上都是RBAC的解决方案&#xff0c;即Role-Based Access Control&#xff0c;权限与角色相关联&#xff0c;用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了…

【Git CMD】Git常用命令总结

目录 0 git的工作区、暂存区、本地仓库和远程仓库0.1 图解0.2 解析 1 本地仓库1.1 创建版本库1.2 分支1.2.1 查看本地仓库的分支信息1.2.2 创建分支1.2.3 切换分支1.2.4 重命名分支1.2.5 合并分支1.2.6 删除分支 1.3 添加文件到暂存区1.3.1 添加单个文件1.3.2 添加多个文件1.3.…

Git常用命令大全(从入门到使用,学不会评论区骂我)

Git常用命令大全 1&#xff1a;Git全局设置 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的&#xff0c;因为每次Git提交都会使用该用户信息。在Git 命令行中执行下面命令&#xff1a; 设置用户信息 git config --global user.name “你的用户名” …

Git常用命令及方法大全

下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace&#xff1a;工作区Index / Stage&#xff1a;暂存区Repository&#xff1a;仓库区&#xff08;或本地仓库&#xff09;Remote&#xff1a;远程仓库 本地分支关联远程&#xff1a;git branch --set-upstre…

Git 常用命令大全

一、 Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin git192.168.1.119:ndshowgit push origin …

Git常用命令大全

Git常用命令大全 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace&#xff1a;工作区Index / Stage&#xff1a;暂存区Repository&#xff1a;仓库区&#xff08;或本地仓库&#xff09;Remote&#xff1a;远程仓库 本地分支关联远程 git branch --set-u…

git常用命令总结

1 git概述 1.1 简介 git是分布式版本控制系统&#xff08;Distributed Version Control System&#xff0c;简称DVCS&#xff09;&#xff0c;分为两种仓库 &#xff1a;本地仓库和远程仓库。 本地仓库&#xff1a;是在开发人员自己电脑上的Git仓库远程仓库&#xff1a;是在…

20 个最常用的 Git 命令用法说明及示例

在这篇文章中&#xff0c;我将介绍在使用 Git 时最常使用的 20 个命令。 作者 | Sahiti Kappagantula 译者 | 弯月&#xff0c;责编 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 以下为译文&#xff1a; 以下是这些Git命令&#xff1a; git config git…

Git基本命令大全

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 1、git clone -b <指定分支名> <远程仓库地址> 克隆指定分支 如&#xff1a; git clone -b bestore_master ssh://gitgit-ssh.xxx.com/xxx.git 2、 git bra…

常用git命令总结大全

目录 一、常用命令 1、git init 2、git add 文件名 3、git commit -m “备注” 4、git status 与 git diff 5、git show commit_id 查看某次修改 6、git log 与 git reflow 7、git pull (--rebase) 8、git push (-u) 与 git branch (-u) 9、git reset --hard 与 git…

Git常用命令

这是一篇笔记 //查看某个命令文档 git help <command> git <command> -h git <command> --help1.基本操作 用户配置 git config --global user.name "bettyaner" git config --global user.email bettyaner163.com配置级别 –local&#xff08…

Git 常用命令速查表(收藏大全)

目录 一、新建代码库 二、配置 三、增加/删除/修改文件 四、代码提交 五、分支 六、标签 七、查看信息 八、远程操作 九、撤销 十、其他 名词 master: 默认开发分支 origin: 默认远程版本库 Index / Stage&#xff1a;暂存区 Workspace&#xff1a;工作区 Reposito…

【深度学习】ResNet50

结构 ResNet50结构&#xff1a; 推荐查看&#xff1a;caffe可视化版 resnet50中1x1filter的作用&#xff1a; 1、在shortcut connection block的残差层中使用1x1的fiter先降维&#xff08;channel&#xff09;&#xff0c;然后再使用1x1的fiter升维,使残差层输出与恒等映射…

ResNet-50 结构

ResNet有2个基本的block&#xff0c;一个是Identity Block&#xff0c;输入和输出的dimension是一样的&#xff0c;所以可以串联多个&#xff1b;另外一个基本block是Conv Block&#xff0c;输入和输出的dimension是不一样的&#xff0c;所以不能连续串联&#xff0c;它的作用本…

ResNet 简介

ResNet 本文对resnet进行介绍&#xff0c;文章目录如下&#xff1a; ResNet 历史ResNet 亮点为何层数不能太深residual 残差模块介绍网络结构BN 层迁移学习 本文参考资料有&#xff1a; 6.1 ResNet网络结构&#xff0c;BN以及迁移学习详解 https://www.bilibili.com/video/…

Resnet

再上一偏博文中我们说到越复杂的问题需要越深层的神经网络拟合&#xff0c;但是越深层的神经网络越难训练&#xff0c;原因可能是过拟合以及损失函数的局部最优解过多&#xff08;鞍点过多&#xff1f;导致经过相同的epoch更深的网络的trainerror大于较浅的网络&#xff0c;因为…