开始学习Vue(路由)

一、什么是路由

SPA 指的是一个 web 网站只有唯一的一个 HTML 页面,所有组

件的展示与切换都在这唯一的一个页面内完成。

此时,不同组件之间的切换需要通过前端路由来实现。

结论:在 SPA 项目中,不同功能之间的切换,要依赖于前端路由来

完成!

二、前端路由的工作方式

① 用户点击了页面上的路由链接

② 导致了 URL 地址栏中的 Hash 值发生了变化

③ 前端路由监听了到 Hash 地址的变化

④ 前端路由把当前 Hash 地址对应的组件渲染都浏览器中

结论:前端路由,指的是 Hash 地址与组件之间的对应关系!
三、路由的使用

①、使用脚手架创建项目,在创建项目中配置路由

②、生成路由文件,文件中有路由的配置

③、在 main.js 中引入路由

④、页面的路由使用

四、路由的两种模式

  1. Hash: url 中带有# (默认)

主要原理是通过监听#后的 URL 路径标识符的更改而触发的浏览器 hashchange 事件,然后通过获取 location.hash 得到当前的路径标

识符,再进行一些路由跳转的操作。

路由: 协议 地址 端口号 锚点

  1. History:url 中没有#

路由: /XXX/XXX

五、路由的三个基本概念

①、route,它是一条路由,由这个英文单词也可以看出来,它是单数

②、routes 是一组路由,把上面的每一条路由组合起来,形成一个数组

③、router 是一个机制,相当于一个管理者,它来管理路由

六、路由的传参取参

①、在配置路由时规定传参

routes=[{path: '/about/:id '}]

<router-link to= "/about/参数 ">

取参:This.$route.params.id

②、通过?传递参数

routes=[{path: '/about '}]

<router-link to= "/about/xxx=xxx&xxx=xxx ">

取参:this.$route.query.xxx

③、类似 get 的传参

:to= " {path: '/about ',query: {user: 'aaa '}} "

this.$route.query.xxx

④、类似 post 的传参

:to= " {name:

'About ',path: '/about ',query: {user: 'aaa '}} "

this.$route.query.xxx

地址栏没有数据必须加 name

七、路由的动态添加

> 返回上一页 this.$router.go(-1)

> 跳转指定页 this.$route.push('about ')

八、路由守卫

定义路由时需要添加守卫,也就是要加一些钩子函数。

beforeRouteEnter

beforeRouteLeava

to 到哪里去

form 从哪里来

next 方法 调用后才能下一步

九、子路由

Const routes=[

{

Path: '/ ',

Name: 'Home ',

Component:Home,

Children:[

{ Path: '/aaa ', Name: 'Aaa ',

Component:Aaa

}

]

}

]

相关推荐
九月TTS22 分钟前
TTS-Web-Vue系列:移动端侧边栏与响应式布局深度优化
前端·javascript·vue.js
曾经的你d22 分钟前
【electron+vue】常见功能之——调用打开/关闭系统软键盘,解决打包后键盘无法关闭问题
vue.js·electron·计算机外设
Johnstons24 分钟前
AnaTraf:深度解析网络性能分析(NPM)
前端·网络·安全·web安全·npm·网络流量监控·网络流量分析
whatever who cares1 小时前
CSS3 伪元素(Pseudo-elements)大全
前端·css·css3
若愚67921 小时前
前端取经路——性能优化:唐僧的九道心经
前端·性能优化
烟雨迷1 小时前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim
@十八子德月生1 小时前
8天Python从入门到精通【itheima】-1~5
大数据·开发语言·python·学习
Bl_a_ck2 小时前
开发环境(Development Environment)
开发语言·前端·javascript·typescript·ecmascript
田本初2 小时前
使用vite重构vue-cli的vue3项目
前端·vue.js·重构
ai产品老杨2 小时前
AI赋能安全生产,推进数智化转型的智慧油站开源了。
前端·javascript·vue.js·人工智能·ecmascript