uniapp开发遇到的坑(uniapp开发注意事项)
今天给各位分享uniapp开发遇到的坑的知识,其中也会对uniapp开发注意事项进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
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之h5反向代理设置踩坑,解决跨域问题
uniapp可以适应多个平台开发,你会发现在HBuilderX上的内置浏览器上调接口,没问题;在小程序中,也没问题;连接手机联调也没问题;
当后台设置允许跨域之后,前端h5需要进行设置反向代理才能解决这个问题。
在manifest.json文件中,我们需要输入我们的端口号
然后去视图源码下查看多了h5这个配置
我们需要在自动生成的h5配置中进行编写代理设置
这里需要注意的是"target" : " ", 这里是写http还是https,需要与后台保持一致,不然会报500.
然后我们去使用我们的代理,进行带接口
uniapp项目真机调试遇到的问题(持续更新中)
参考: HBuilder/HBuilderX真机运行、手机运行、真机联调常见问题
驱动问题 :电脑已安装手机驱动,但是电脑没有任何反应或提示驱动问题,可通过以下方式解决:电脑安装驱动精灵类程序,通过它们来重新安装驱动(装驱动比较好的方式是使用各种手机助手,比如360、腾讯的各种手机助手,如果有问题,尝试升级助手的版本)。
备注 :如果在启动HBuilderX后才安装驱动连接上手机,可能需要 重启 HBuilderX;使用管理员权限运行HBuilder;关闭WebView调试模式,重启HBuilderX重试。
在HbuilderX中进行真机调试,一般真机通过usb数据线连接电脑后电脑会自动安装驱动,手动开启设备的USB调试后HbuilderX就可以检测到真机设备,如:
① 台电的平板:平板通过usb数据线连接电脑后电脑会自动安装驱动,手动开启设备的USB调试即可被检测到。
② 华为平台(忘记型号了):通过安装华为调试助手后也能被成功检测到。
③ 小米note3和米6:安装小米驱动并重启HBuilderX后才被检测到。
uniapp开发ios提示不再可用
因为uniapp开发ios不兼容,所以不可用。
不得不说,任何一个开发者遇到苹果手机都会或多或少需要做适配。在使用uni-app开发小程序时,.由于页面大多数内容都是动态获取,当页面高度不给固定值时,让其随内容的填充自适应的时候,iPhoneXS Max手机在页面底部会出现白版,安卓手机不会有此现象. 解决办法:
//通过获取系统信息拿到屏幕宽高比,
const SCREEN_WIDTH = 750
const RATE = wx.getSystemInfoSync().screenHeight / wx.getSystemInfoSync().screenWidth
data(){undefined
ScreenTotalH: SCREEN_WIDTH * RATE, //拿到真实手机高度
}
//展示内容高度
//这样后苹果大屏手机内容底部不会白板
2.获取到时间字符串"2020-07-12 09:00:30" ,当我截取后取时和分为单位,如果时为"00"时,页面{undefined{dian}}点,显示为'0'而不是我要的'00',这个问题十分奇葩,虽然不是大的影响,加个三目判断:{undefined{dian=='00'?'00':dian}}点,就ok.
3.有时候小程序需要显示APP分享过来的H5页面,或者小程序本身需要显示H5页面时,需要配置https的域名,不然会无法正常显示。补充:(H5页面一般通过来展示,SRC里面的页面都是后台配置好的)
目前这是我遇到的苹果端适配问题以及解决办法。
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操作有关系,采用定制接入方法一,手动调用。
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次数,够练手了。
关于uniapp开发遇到的坑和uniapp开发注意事项的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。