| |
|
开发:
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:44:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |