VUE路由的原理
路由的概念起源于服务端,在以前前后端不分离时,是由后端来控制路由,当接受到 客户端发来的请求就会根据所请求的url来找到对应的映射函数并将函数的返回值发 送给客户端。
而后来就提出了前端路由的概念 前端路由的特点就是改变url不刷新页面,对url变化的监听,更新视图模块
根据不同的hash值或者不同路径地址,将不同的内容渲染到router-view中
Vue路由实现有两种模式 hash模式、history模式
-
Hash模式的url是以#开头,常作为锚点在页面内进行导航,是基于location.hash来实现的location.hash的值就是url中#后的内容,当hash改变时页面不会因此刷新,游览器也不会请求服务器,而是通过键值对获取对应哈希值来进行渲染视图模块。
-
History主要是利用HTML5History来操作游览器历史记录栈,主要方法有back,go来读取游览器路由历史记录并控制跳转,HTML5新增pushState,replaceState两个方法来修改历史记录,调用这两个方法修改历史信息后,虽然当前url改变了,但游览器不会立即请求该url,这就满足单页面应用更新视图但不重新请求页面的需求。