记录vue开发中的小bug
记录一些小问题,记住一次教训
1、问题一
问题原因: 在调用cordova的方法的时候会因为 cordova.js加载慢而出现问题
解决: 设一个定时器,循环调用,直到cordova.js 加载完成 在调用方法,实现转跳
2、问题二
问题原因:无法确定是否引入cordova.js
解决:可以使用浏览器调试webview
网址:https://www.jianshu.com/p/eaee7eba6840
注意:要跨域才能用
edge可以不用跨域调试webview
网址: edge://inspect/#devices
3、问题三
问题原因:script 无法调用,是因为中间有中文空格,vscode无法查出问题
解决:可以使用其他编译器去查看,如 sublime
4、问题四
问题原因:使用vant-overlay 遮罩层 和 vant-list 列表去做一个下拉列表,但是移动端上不能滑动,只能用鼠标滚轮滑动
解决:这是vant-overlay的一个bug,只能自己写一个遮罩层
5、问题五
hack:input 设置 autocomplete属性 无效
解决:
1、查看自己是否设置了name 或 id 属性
2、成为元素的后代
3、具有提交按钮的表单
如果都完成以上操作还是不行,就自行百度
6、问题六
hack:去除 autocomplete 自动填充背景色
解决:
7、问题七
bug:切换步骤之后,el-check-group v-model 会直接变成true
解决: v-if 换成 v-show
8、问题8
bug: vue中使用element table,动态列渲染异常,高度计算错误
解决:
刷新组件,调用doLayout对table进行重新绘制(ps:不加nextTick可能会无效呦)
this.$nextTick(() => {
this.$refs.singleTable.doLayout()
})
9、问题9
bug: vue中使用element table,element-ui中的el-table-column使用v-if导致列位置与数据错乱
解决:
通过key去标识一下当前行是唯一的,不许复用
10、问题10
bug:vue-cli3 资源路径publicPath配置成 ./ 和 / 的天大区别,net::ERR_ABORTED 404 (Not Found),导致线上项目的部分路由懒加载跳转出现资源不存在的错误!
解决:
地址
publicPath配置相对路径时,需要把vue的路由模式改成hash(默认为hash)
11、问题11
在测试环境允许 Mixed content
H5 模块发布后的资源是在 https 的地址,而一般测试系统的 API 都是 http 方式。即在 https 页面发送 http 请求,称为 Mixed content,请求会被浏览器阻塞。因此需要在测试环境允许 Mixed content,以便测试。
Chrome
12、问题12
ios对new Date()的兼容问题
移动端开发时,使用new Date()在ios上碰到的一个兼容问题
let date = new Date('1998-10-01 10:00:00');
在安卓端正常,但在ios上会返回invalid Date,是因为ios不支持‘-’连接的日期格式,所以,在这里我们将日期改为‘/’的格式,来兼容ios。
let date = new Date('1998-10-01 10:00:00').replace(/-/g, '/');
13 问题13
安装依赖时报错 unable to resolve dependency tree(无法解决的冲突依赖)
方法一
npm i --legacy-peer-deps
方法二
如果是某一个依赖冲突,根据提示安装到指定版本即可
暂时遇到我感觉很难得问题,先总结这么多问题拉
14 问题14
使用 百度地图 GL 时 根据ws 返回数据,使用在线图标渲染marker,导致百度地图一直在闪烁,图标大小大于256*256
原因: 图标大小需小于5k,超过该值会导致加载不上图标的情况发生,图标的尺寸应小于256*256
解决:将在线图标的大小 修改至256*256以下,越小越好,但是也要能看得清