uniapp的坑

1、在pages.json里的 titleNView 或 页面里写的 plus api 中涉及的单位只支持px,不支持rpx

2、tenplate内引入静态资源,比如图片,视频的src属性时,可以使用相对路径或者绝对路径

3、静态文件目录下打js文件不会被编译,如果里面有es6的代码,不经过编译转换直接运行的话,在手机上是会报错的

4、在字体或者高度使用了rpx,那么需要注意这样的写法意味着随着屏幕的变宽,字体会变大拉伸,高度会变大,如果你需要固定的高度,那么应该使用px

5、app端不支持含有dom,window等操作的vue组件和js模块(还傻傻的用instant去疯转组件),安装的模块以及依赖的模块必须是uniapp官方已有的api

5、若需要禁止蒙版下的页面滚动,官方说法是使用@touchmove.stop.prevent="moveHandle" moveHandle可以用来处理touchmove事件,也可以是一个空函数,但是真心是没用,最后我是使用一个变量来控制是否需要上拉加载的操作

6、tabbar切换第一次加载时可能渲染不及时,可以在每个tabbar页面的onload生命周期里先弹出一个等待雪花

7、tabbar的页面展示过一次就保留在内存中,再次切换的时候只会触发onshow,不会再出发onload,所以tabbar一般用onshow生命周期发起请求

8、splash(启动封面)是App必然存在的、不可取消的。splash只能是标准png,不要用jpg改名为png。

9、所有组件名与属性名必须都是小写,单词之间以连字符连接,不然页面渲染报错或者无法渲染,因为不知道,搞了半天,最后还是去看了底层才知道,全部驼峰处理了

10、如果要在页面中使用map原生组件,那必须把map封装成一个组件再引入页面才能使用,或者使用nvue,不然地图无法正常显示

11、地图的mark标记物路径使用相对路径,不然图片是无法渲染的

12、要在地图表层增加元素,使用cover-view覆盖原生组件,因为原生组件的层级是最高的

13、页面结构复杂,css样式太多的情况,使用 image 可能导致样式生效较慢,出现 “闪一下” 的情况,此时设置 image{will-change: transform} ,可优化此问题

14、如需调节checkbox,radio大小,可通过css的scale方法调节,如缩小到70%style="transform:scale(0.7)"

15、图片上传支持带其他参数一起上传,会遇到后端无法接收图片的情况,不断要求转化图片格式,什么base64,file格式,其实跟图片格式无关,叫后端仔细检查一下接口接收的时候是不是不一致(这个问题搞了很久)

16、从APP分享到微信时,无法判断用户是否点击取消分享,因为微信官方禁掉了分享成功的返回值

17、很多功能在pc调试工具上是一切都正常的,但是一到手机端就出错,所以最好在手机端调试,比如css样式,还有input的一些相关方法

18、关于一些权限的使用,都要先判断一下设备的访问权限是否开启

19、navigateTo, redirectTo 只能打开非 tabBar 页面,switchTab 只能打开 tabBar 页面

20、如果使用地图或者支付,必须在manifest,json->app模块权限配置->勾选相对应的模块,并填写相应的密钥

你可能感兴趣的:(uni-app,javascript,前端,vue.js,css)