uniapp开发的坑(uniapp开发者)
今天给各位分享uniapp开发的坑的知识,其中也会对uniapp开发者进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
uni-app小程序开发踩坑记录
最近要从零开发一个跟后台管理系统对接的小程序,因为功能比较复杂,时间短,选择了比较火的uni-app,因为小程序出现的时间较短,各方面并不完善,开发过程中就是不断踩坑的过程,特此记录一小下。
uni-app虽然功能还不完善,但是插件市场里东西还是不少的,在搭建框架中因为需求要求借鉴了之前开发的PC端,所以有一些跟之前开发VUE相关的插件 ,可以提高开发效率,
插件:
坑:
1.覆盖原生组件,需要用cover-view容器,但是cover-view里可包含的标签有限,类似view等在真机调试时不显示,需全部替换成cover-view,且icon无法显示,可以用cover-imaga代替。
2.小程序和小程序之间的跳转(如腾讯云的人机滑动验证),跳转回来时需要进行操作,此时可以判断app.vue中的options,如果按小程序文档中来说当options.scene === 1038时是小程序跳回来的场景,但是部分手机跳回来是options.scene为1001,只能将这2种都作为跳转判断的条件。
3.小程序跳转回来app中的onshow有时不执行,这个原因暂未找到
4.在uniapp的H5版本 ,接入 腾讯云滑动验证 ,示例的点击滑动验证元素是通过dom操作的,但是无效,可能跟uniAPP不支持dom操作有关系,采用定制接入方法一,手动调用。
uniapp之h5反向代理设置踩坑,解决跨域问题
uniapp可以适应多个平台开发,你会发现在HBuilderX上的内置浏览器上调接口,没问题;在小程序中,也没问题;连接手机联调也没问题;
当后台设置允许跨域之后,前端h5需要进行设置反向代理才能解决这个问题。
在manifest.json文件中,我们需要输入我们的端口号
然后去视图源码下查看多了h5这个配置
我们需要在自动生成的h5配置中进行编写代理设置
这里需要注意的是"target" : " ", 这里是写http还是https,需要与后台保持一致,不然会报500.
然后我们去使用我们的代理,进行带接口
uni-app入坑持续更新中...
都是坑,防不胜防
正常组件调组件,在父组件修改子组件样式,抱歉/deep/、 等穿透作用于class等不生效
解决方案:
1、穿透作用于标签(不推荐:层级多不好控制,而且会有警告)
2、作用于对应page页文件(这个居然可以实在是懵逼啊)
解决方案:动态绑定v-model 和 value值就可以了(神奇啊)
坑多的让你想摔手机
uniapp开发遇到的问题总结
解决方案:
定义一个布尔类型的变量放到页面上去,改变循环的数据的某个属性时,给该变量赋值成false,然后再设置成true
只能使用create生命周期去构造了,如果不能满足的话就另想其他办法了
使用 placeholder-class 属性设置一个类名,再用该类名写样式去覆盖掉原有的样式
使用js给img标签添加行内样式以达到目的
经过顽强的询问,搜索,才知道HBuilderX 2.9.0+ 相关更新:调整根字体大小为系统默认大小与微信小程序平台一致,调整后 rem 默认大小不再为 窗口宽度/20,改为了浏览器(webview)默认的字体大小,一般为 16px
这是社区给的解决方案: 更新 HBuilderX 2.9.0+ 后 rpx(upx)、rem 样式变形的处理办法
我做的项目主要是使用 rpx 的部分变形,使用的解决方案为 宽屏适配指南
在里面找到的解决方案如下:
在 pages.json 的 globeStyle 里配置 rpx 的如下参数
uni-app踩坑笔记
1.两个普通页面之间的跳转用uni.navgateTo(),url可携带参数。
2.普通页面跳tabbar配置过的页面需要uni.switchTab(),url不能传值。
3.uni.reLaunch()万金油跳转,可以跳转任何页面(克服了普通页面跳tabbar配置的页面url不能传值的问题。)
4.突出中间按钮的midButton,是偶数才能显示,但只支持真机环境,浏览器是没有效果的。
6.页面生命周期(考虑的是页面刷新带来的影响):
onLoad、onShow、onReady
应用生命周期,指app.vue里面的这三个
7.箭头函数没有this指向(慎用),如果在控制台打印this是undefined的,证明是箭头函数在作怪,在特殊场合别贪方便,有时候会遇到抓破头皮也找不到问题所在,就是箭头函数搞的鬼。
8.uni.request({,success:function(res){})})请求成功返回的数据直接使用this直接赋值是不生效的,因为这是一个异步函数,需要借助一个指向:let that = this
9.setStorageSync 数据缓存是用来2个页面交互的,传数据传值,写在onLoad里面。
10.uni-app的view标签等于div标签,独占一行。
5.和风天气官网提供的API是免费的,每人一天1000次数,够练手了。
uni-app踩坑:微信小程序中view设置overflow: auto无法手势滑动
前几天在开发注册功能时,需要弹一个显示注册协议的Modal,由于协议文字很长,需要用户手动滑动查看。
于是理所当然地使用一个view元素包裹协议内容,然后设置height,并设置 overflow-y: auto ,这样设置后在 微信开发工具 上使用鼠标滚轮滑动ok,但是过两天在真机上测试,what???,无论我手指怎么滑都滑不动。
经过一通仔细 (胡乱) 调试,最终使用 scroll-view 解决了这个问题。
注意:使用竖向滚动时,需要给 scroll-view 一个固定高度,通过 css 设置 height。
关于 scroll-view 的更多介绍,请移步
在这里有一个疑问:为什么设置 overflow: auto 无法手势滑动,而scroll-view可以呢?
我暂时没有想到原因,欢迎知道原因的友友留言解答,谢谢!!!
关于uniapp开发的坑和uniapp开发者的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。