首页技术文章正文

vue-router的工作原理|实现单页面前端路由的两种方式

更新时间:2021-03-05 来源:黑马程序员 浏览量:

1577370495235_学IT就到黑马程序员.gif

vue-router是Vue官方推出的路由管理器,主要用于管理URL,实现URL和组件的对应,以及通过URL进行组件之间的切换,从而使构建单页面应用变得更加简单。

vue-router的工作原理

单页面应用(SPA)的核心思想之一,就是更新视图而不重新请求页面,简单来说,它在加载页面时,不会加载整个页面,只会更新某个指定的容器中的内容。对于大多数单页面应用,都推荐使用官方支持的vue-router。在实现单页面前端路由时,提供了两种方式,分别是hash模式和history模式,根据mode参数来决定采用哪一种方式。

1. hash模式

vue-router默认为hash模式,使用URL的hash来模拟一个完整的URL,当URL改变时,页面不会重新加载。#就是hash符号,中文名为哈希符或者锚点,在hash符号后的值称为hash值。

路由的hash模式是利用了window可以监听onhashchange事件来实现的,也就是说hash值是用来指导浏览器动作的,对服务器没有影响,HTTP 请求中也不会包括hash值,同时每一次改变hash值,都会在浏览器的访问历史中增加一个记录,使用“后退”按钮,就可以回到上一个位置。所以,hash 模式是根据hash值来发生改变,根据不同的值,渲染指定DOM位置的不同数据。

2. history模式

hash模式的URL中会自带#号,影响URL的美观,而history模式不会出现#号,这种模式充分利用了history.pushState()来完成URL的跳转,而且无须重新加载页面。使用history模式时,需要在路由规则配置中增加mode:'history',示例代码如下:

// main.js文件
const router = new VueRouter({
 mode:'history',
 routes:[...]
})



猜你喜欢:

VUE框架有哪些优点?

VUE是什么意思?

Vue中如何监控某个属性值的变化?

黑马程序员HTML&JS+前端培训课程

分享到:
在线咨询 我要报名
和我们在线交谈!