前言
随着前端应用的业务功能越来越复杂,用户对于使用体验的要求越来越高,单页面成为前端应用的主流形式。大型单页面应用最显著的特点就是采用前端路由系统,通过改变url在不重新请求页面的情况下更新视图。
一、Vue-router的概念?
通过改变 url,在不重新请求页面的情况下,更新页面视图
二、通常 SPA 中前端路由的实现方式:
1.window.history
window.history 对象包含浏览器的历史,history是实现前端路由的一种主流方法,它有几个原始方法:
- history.back() - 与浏览器中的点击后退按钮相同
- history.forward() - 与浏览器中的点击向前按钮相同
- history.go(n) - 接受一个整数作为参数,移动到该整数指定的页面,比如go(1)相当于forward(),go(-1)相当于back(),go(0)相当于刷新当前页面
2.location.hash
url 中可以带有一个 hash http://localhost:9000/#/abc.html
window 对象中有一个事件是 onhashchange,以下几种情况都会触发这个事件:
- 直接更改浏览器地址,在最后面增加或改变#hash;
- 通过改变location.href或location.hash的值;
- 通过触发点击带锚点的链接;
- 浏览器前进后退可能导致hash的变化,前提是两个网页地址中的hash值不同。