简介 最近做了一个微信小程序控制蓝牙设备,通过小程序中的RGB取色盘,获取当前的RGB颜色,通过蓝牙发送给设备,设备接收到RGB以后,做出相应的调整。 图1:RGB取色盘 在安卓手机上运行正常,能够迅速的相应我的手部滑动位置,并获取到颜色,非常的跟手,但是当运行在苹果手机上时,就会非常的卡顿,速度异常的慢。延时极高,是无法接受的。 我排查过了各种情况,然后我发现wx.canvasGetImageData()这个API,它是获取canwith就是那个画布指定位置的颜色的,然后在安卓上就是可以很快的获取到,但是在苹果上它也延迟非常高可得,可能需要一秒多才能够获取到这个东
背景为扩展业务,提高搜索效率,增加tab筛选:[综合,销量,价格]问题发现点击tab,重新发送接口请求,列表数据更改之后,但是页面并没有重新渲染问题分析{searchData}}"wx:key="index">{messageChannelKey}}"messageValPickKey="{{index}}"cardType="normal"extraReportData="{{extraReportData}}"/>点击事件触发,searchData已发生改变,但由组件组成的feed流并没有发生渲染变化,根据上述代码,使用wx:for列表渲染,绑定的key值为index;组件在attache
背景为扩展业务,提高搜索效率,增加tab筛选:[综合,销量,价格]问题发现点击tab,重新发送接口请求,列表数据更改之后,但是页面并没有重新渲染问题分析{searchData}}"wx:key="index">{messageChannelKey}}"messageValPickKey="{{index}}"cardType="normal"extraReportData="{{extraReportData}}"/>点击事件触发,searchData已发生改变,但由组件组成的feed流并没有发生渲染变化,根据上述代码,使用wx:for列表渲染,绑定的key值为index;组件在attache
1、wx.showToast使用场景:常规的提示,没有确定和取消按钮。例:属性:title:提示的内容icon:显示的图标,合法值有success、error、loading、noneimage:自定义图标的本地路径,优先级高于iconduration:提示的延迟时间mask:是否显示透明蒙层,防止触摸穿透success:API调用成功后的回调函数fail:API调用失败后的回调函数complete:API调用结束的回调函数(无论成功与否都会执行)实现:wx.showToast({title:'成功',icon:'success',duration:2000})2、wx.showModal使用
1、wx.showToast使用场景:常规的提示,没有确定和取消按钮。例:属性:title:提示的内容icon:显示的图标,合法值有success、error、loading、noneimage:自定义图标的本地路径,优先级高于iconduration:提示的延迟时间mask:是否显示透明蒙层,防止触摸穿透success:API调用成功后的回调函数fail:API调用失败后的回调函数complete:API调用结束的回调函数(无论成功与否都会执行)实现:wx.showToast({title:'成功',icon:'success',duration:2000})2、wx.showModal使用
在使用XHbuilderX运行微信小程序的时候可能会遇到一个问题请注意游客模式下,调用wx.operateWXData是受限的,API的返回是工具的模拟返回这是因为我们忘记在程序中配置AppID了才会出现这样的警告,接下来就让我带你们看看如何解决这个警告吧首先让我们打开微信小程序助手在左边的侧边栏选择开发=>开发管理=>开发设置选中AppID(小程序ID)注意这里要是正式的AppID不要使用测试号的选中复制后打开XHbuilderX将AppID黏贴进去就可以了将其运行到微信开发者工具上,打开微信开发者工具的控制台发现警告消失了但是与此同时我们发现又有一个新的警告当前组件仅支持uni_modul
在使用XHbuilderX运行微信小程序的时候可能会遇到一个问题请注意游客模式下,调用wx.operateWXData是受限的,API的返回是工具的模拟返回这是因为我们忘记在程序中配置AppID了才会出现这样的警告,接下来就让我带你们看看如何解决这个警告吧首先让我们打开微信小程序助手在左边的侧边栏选择开发=>开发管理=>开发设置选中AppID(小程序ID)注意这里要是正式的AppID不要使用测试号的选中复制后打开XHbuilderX将AppID黏贴进去就可以了将其运行到微信开发者工具上,打开微信开发者工具的控制台发现警告消失了但是与此同时我们发现又有一个新的警告当前组件仅支持uni_modul
先看官方文档给出的说明查询节点信息的对象,返回一个SelectorQuery对象实例\color{#9a2323}{查询节点信息的对象,返回一个SelectorQuery对象实例}查询节点信息的对象,返回一个SelectorQuery对象实例拿到实例后再看上边挂载的方法SelectorQuery.in(设置选取范围)SelectorQuery.select(选择节点|页面中匹配到的第一个)SelectorQuery.selectAll(选择当前页面下匹配选择器的所有节点)SelectorQuery.selectViewport(获取显示区域的尺寸、滚动位置等信息)SelectorQuery.e
先看官方文档给出的说明查询节点信息的对象,返回一个SelectorQuery对象实例\color{#9a2323}{查询节点信息的对象,返回一个SelectorQuery对象实例}查询节点信息的对象,返回一个SelectorQuery对象实例拿到实例后再看上边挂载的方法SelectorQuery.in(设置选取范围)SelectorQuery.select(选择节点|页面中匹配到的第一个)SelectorQuery.selectAll(选择当前页面下匹配选择器的所有节点)SelectorQuery.selectViewport(获取显示区域的尺寸、滚动位置等信息)SelectorQuery.e
1.原生wx.request()的缺点wx.request官网说明回调地狱,可能会出现多层success套用的情况(用Promise封装解决)效率低,代码冗杂,每次都要写共同的参数(比如headers,公共的url)可维护性差,后续查看和改代码不方便,封装后都在同一个文件,一目了然wx.request({url:'example.php',//仅为示例,并非真实的接口地址data:{x:'',y:''},header:{'content-type':'application/json'//默认值},success(res){console.log(res.data)}})作为一个合格的前端开发