本文主要是介绍【bug记录8】vue-router和location.href跳转区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、问题背景
微信小程序的webView中更新配置、使用vue-router尝试跨域跳转,结果发现跳转失败
二、问题解决
改用location.href可成功。
三、原理总结
1、微信小程序会对一些数据、配置、资源进行缓存,如果不刷新则导致无法及时获取
2、如何使得页面及时刷新呢?这涉及到vue-router和location.href的跳转区别
这个博主做过总结:https://juejin.cn/post/7115044966597918733
简单来说如下:
✨vue-router
- vue-router使用pushState进行路由更新,静态跳转,页面不会重新加载;
- vue-router使用diff算法,实现按需加载,减少dom操作;
- vue-router是单页面应用下的路由跳转;
- vue-router是异步加载this.$nextTick(()=>{获取url})。
✨location.href
- location.href会触发浏览器,页面重新加载一次;
- location.href是不同页面间的直接跳转;
- location.href是同步加载。
这篇关于【bug记录8】vue-router和location.href跳转区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!