uniapp开发的坑(uniapp开发者)

小程序开发 2829
今天给各位分享uniapp开发的坑的知识,其中也会对uniapp开发者进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!uni-app小程序开发踩坑记录 最近要从零开发一个跟后台管理系统对接的小程序,因为功能比较复杂,时间短,选择了比较火的uni-app,因为小程序出现的时间较短,各方面并不完善,开发过程中就是不断踩坑的过程,特此记录一小下。 uni-app虽然功能还不完善,但是插件市场里东西还是不少的,在搭建框架中因为需求要求借鉴了之前开发的PC端,所以有一些跟之前开发VUE相关的插件 ,可以提高开发效率,

今天给各位分享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开发者的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码