在PC端和手机浏览器中router.replace()
or router.push()
可以正常使用,页面的地址和页面都正常显示;可是在微信中,从/a
页面经过router.push('/b')跳转到/b页面后,页面正常,可是复制浏览器的地址会发现其地址仍为/a
;选择在浏览器打开发现也是显示的/a
的页面。
这应该是微信浏览器那边的问题,微信浏览器只会记住你第一次进来的地址。ios
#
在pc端或者手机浏览器开发的时候 输入localhost:8080
,浏览器会自动跳转到localhost:8080/#/
,可是在微信浏览器中,虽然页面显示正常了,可是咱们经过微信右上角的选项复制当前的地址,会发现地址为仍然localhost:8080
,这后面致使了其余的 router.push()
操做都没法修改微信浏览器的url;固然,若是咱们在程序中alert(location.href)是正常的。浏览器
在进入页面的时候咱们默认的给url加上#,即localhost:8080/#/
,再次测试后发现 安卓 中微信浏览器的url和咱们项目中的url相对应了。微信
处理完上面的问题后测试安卓机正常了,可是iOS机型微信中在/b
页面复制地址中仍然/a
页面,查看资料网上不少人都说能够经过连接的方式处理。测试
1.用history的时候,把router-link换成a标签跳转,url
个人处理方式是点击跳转后直接使用window.location.herf = 'localhost:8080/#/b'
的方式,即直接拼接好跳转的后路由地址。暂时解决了这个问题
由于我在项目中测试只有ios在微信中出现这个问题,因此只针对ios在微信中特殊处理。其余状况下仍是经过hash路由正常处理。code