Vue路由实现原理总结

之前在学VueSSR的时候一直有个疑问,既然SSR比SPA首屏加载快又利于SEO,还能兼容多端(比如和WEEX结合),为什么SPA能火起来。后来发现其中很重要的一点就是路由切换的体验比SSR好(之前也看过,只是学到现在才慢慢体会出来)。

在讲vue 路由实现之前先看下浏览器对象默认的对象属性 location

上面的属性和方法中除了 hash ,其他都会重新加载页面。

其中 pushState 方法和 replaceState 方法可以分别增加和替换掉一条记录(必须同源),而不会重新加载页面。

window.location.hash和window.history.pushState(或replaceState)唯一的不同是通过hash改变url带入#,而后者不会。而Vue 路由的两种模式就是基于location和history这2个对象的!

blogs.com/historymemory/p/6393539.html