Taro开发微信小程序遇到的问题和解决方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Taro开发微信⼩程序遇到的问题和解决⽅法
1.scroll-view 置顶, 给设置scroll-top为0⽆效问题?
解决⽅案: 不触发置顶问题,需要给scroll-top⼀个设置接近0的随机数,Math.random()
2.scroll-view绑定bindscrolltolower没有触发问题?
解决⽅案: 通过获取系统信息wx.getSystemInfoSync()拿到屏幕的⾼度,然后减去其他组件占位的⾼度, 得到scroll-view容器的⾼度, 最后给scroll-view的style设置容器的⾼度才能⽣效
3.⽤wx.createSelectorQuery().select(id).fields({computedStyle: ['margin', 'backgroundColor', 'width', 'height']}),获取⾼度,如果设置了padding得到的值不准确问题?
解决⽅案: 给容器添加box-sizing: border-box;
4.注意在使⽤taro, 对webpack配置defineConstants全局变量,不能在代码中使⽤相同和全局变量相同的命令变量或者函数中的形成
5.⼩程序中使⽤request,如果url直接带上中⽂,在部分⼿机会导致中⽂编号异常请求失败
解决不要直接query拼接到url中,把query传递到request对应的data中,最好在header中添加'Content-Type': 'application/json;
charset=utf-8'
6.aro v1.3.0-beta.3开发微信插件,使⽤'@tarojs/async-await'导致regeneratorRuntime is not defined报错
在载⼊@tarojs/async-await的地⽅添加⼀个声明const regeneratorRuntime = global.regeneratorRuntime;
7.升级Taro为Taro v1.3.0-beta.3,开发微信插件,微信开发⼯具报VM2140:5 未找到⼊⼝ app.json ⽂件,或者⽂件读取失败,请检查后重新编译。
解决⽅法: 修改project.config.json中的miniprogramRoot的值为miniprogram/weapp/
8.使⽤ref⽆法获取⾃组件的问题,描述在Taro的componentWillMount中调⽤⾃组件的⽅法,⽆法获取⾃组件的问题
解决⽅法:在componentDidMount中调⽤⾃组件的⽅法,因为componentWillMount的时候还没有加载完DOM
9.前最外层容器使⽤width: 100vw;和padding:20px;的时候, ⼦容器设置'width:100%'会导致⼦容器的宽度为100vw
解决⽅法: 外层容器使⽤width:100%;。