从接触vue到做项目已经有段时间,中间碰到过大大小小的坑,但大都比较浅显容易解决,毕竟这是个主流框架,能遇到的问题但部分先驱探索者已经在社区给予的解答,所以不算特别困难,这里的话,提几个项目遇到的几个比较容易忽视的坑
vue的兼容性对于高版本是没什么问题的,但对于这样的高不高,低不低的ios9.2,我无fuck说,为什么不升级,为什么,遇到的问题主要是以下几个:
1、$router.back() || window.history.back() 不能用
2、跳转后有些页面完全不显示
3、不能点击
虽然没能找到出现问题的根本原因,但是推测和vue的router的兼容性有关,尤其是页面不显示表现的尤为明显,明明这个页面在其他上面的显示都是完整的,偏偏到了ios9.2就蔫了,反复试验后,发现单页面获取路由参数并不能正常获取,$route.query,解决的办法就是使用原生的方式获取参数;
关于$router.back()不能使用,原因也是router的不兼容,发现解决的办法有两个,一个是使用$router.push(),或者$router.replace(),back不能用,push和replace却没问题,另一种就是页面的跳转使用原生路由跳转,不使用hash模式,因为这个模式是下跳转是模拟跳转,页面实际不刷新,这个是spa的一个优势,但同时也不利于我们的一些操作,比如这个跳转后低版本的不兼容性,还有就是后期会讲到的spa统计,这里我们简单的说解决办法,最简单的莫过于使用a标签跳转,或者window.location.href形式都是可以的
最后关于不能点击的问题,其实际也是router的兼容性,我的点击事件中有关于router的事件,所以造成了中间阻塞,无法执行事件,解决的办法同上
最后说一下这个坑到底有多坑,MD,模拟器上完全没问题,测试机是较高版本的,所以一开始注意不到这个问题,但是偏偏对方的手机是ios9.2这个就是最大的坑,不好测试。。。。。。只能屈服于这个世界的残酷和无奈