| 
 | |
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| -> JavaScript知识库 -> Vue复习(5):Vue-路由相关(2) -> 正文阅读 | 
|  | 
| [JavaScript知识库]Vue复习(5):Vue-路由相关(2) | 
| 文章目录一、路由基本框架在src目录下新建router文件夹作为我们的路由文件,创建index.js文件,写入基本路由框架: 在components文件夹下添加Home.vue: main.js中添加我们自定义的router 最后路由跳转结果: 
 二、导航守卫1.全局导航守卫:router.beforeEach也叫做全局前置守卫,整个项目中,无论是哪一个路由变化都会触发这个守卫 
 2.路由独享守卫:beforeEnter当要访问某个路由的时候才会触发这个守卫,全局守卫对所有路由都有效果,写在全局中。所以路由独享守卫针对某一单个路由,就要写在单个路由里。 代码如下: 3.组件内路由这个路由上一篇Vue复习(4):Vue-路由相关曾提到过,这里为person添加上参数id。 1.beforeRouteEnter
 Person.vue组件中代码如下 当我们点击完home后点击任何一个Person都没有反应,控制台打印了我们的三个参数,说明此时守卫被触发,我们无法跳转到Person路由上,解决方法还是调用next()函数,释放守卫 2.beforeRouteUpdate
 Person.vue组件中代码如下: 还是先点击Home,然后点击Person1,路径改变,组件被渲染,控制台没反应: 3.beforeRouteLeave
 Person.vue组件中代码如下: 首先点击Home发生跳转到Home路由下,控制台无响应,一切正常: 路由没有变化,Home组件没有被渲染,控制台打印三个参数,说明守卫被触发(在内部调用next()即可释放), 三、路由懒加载所谓懒加载,就是当我只访问了某一个路由时,我却要同时调用其他import引入的路由,所以我们在路由定义的时候加载。具体代码如下,即不用单独引入Home组件,而是写在路由内部: 四、滚动行为scrollBehavior当你在某宝上浏览商品,点击 进入详情页,发挥后的浏览页面还会停留在刚才点击的地方,而不是回到顶部。 再在router的index.js文件里添加滚动行为: 此时页面可以滚动。 然后你滚动一定距离,点击Person2, 然后返回,你会发现页面还停留在之前的地方,然后控制台打印中有一条是; 如果你想返回后回到顶部,可以在里面添加return: | 
|  | 
| JavaScript知识库 最新文章 | 
| ES6的相关知识点 | 
| react 函数式组件 & react其他一些总结 | 
| Vue基础超详细 | 
| 前端JS也可以连点成线(Vue中运用 AntVG6) | 
| Vue事件处理的基本使用 | 
| Vue后台项目的记录 (一) | 
| 前后端分离vue跨域,devServer配置proxy代理 | 
| TypeScript | 
| 初识vuex | 
| vue项目安装包指令收集 | 
|  | 
| 上一篇文章 下一篇文章 查看所有文章 | 
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/1 7:17:23- | 
| 
 | 
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |