SPA原理:hash&history.pushState
简述后端路由渲染
网址输入url->后端接收->将html+css+js一起发送浏览进行渲染
简述前端路由渲染
通过改变location.hash和history.pushState而不向服务器发请求,前端根据设置的路由映射到对应的组件,页面渲染对应的组件。
history.pushState(),通过这种方式改变渲染的组件,是一个压栈的过程,也就是先进后出。history.replaceState()是直接替换,相当于覆盖前面的记录,没有上一级了。
location.hash是浏览器提高的方式,history.pushState()是HTML5中的history模式。