wx.createSelectorQuery()的方法讨论】的更多相关文章

在之前的<小程序节点查询方法:wx.createSelectorQuery()的使用场景与注意事项>中,讨论了节点查询方法. 最近在wx.createSelectorQuery()实际使用中又发现了一些问题:新建query对象后,调用exec,然后返回时发现,回调竟然为异步调用. 举个栗子: 代码: // 页面宽度 var screenWidth; var query = wx.createSelectorQuery().select(".container").bound…
小程序由于内置于微信,这使得它有了得天独厚的宣传和使用优势,本着学习的心态,我在官网上看了一遍开发文档,大致得出小程序框架的设计模式与使用注意事项(重点来了,其实开发文档某些方面叙述的并不仔细,甚至存在歧义).在此与诸君分享,还望不吝赐教. 0.小程序框架结构就不多赘述有兴趣的童鞋可以移步我的博客查看这篇文章,现在要讲的是开发中经常需要用到的,节点查询的API - wx.createSelectorQuery(). 1.使用方法:(从文档上粘来的栗子,只不过我在上边添加上了注释…
场景:一个气泡的宽度由加载来的数据填充所决定,不定宽,     wx.createSelectorQuery().selectAll('.talkbubble').boundingClientRect(function (rects) {  console.log(rects)  }).exec()   如题,如果是动态获取的数据,不管在onshow还是onready中获取节点信息,都有可能获取不到,或者获取的宽度不对(获取到了元素未填充数据时的初始宽度)   解决方法: 在加载数据时延时执行该…
节点信息查询 API 可以用于获取节点属性.样式.在界面上的位置等信息. 最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置. 示例代码: const query = wx.createSelectorQuery() query.select('#the-id').boundingClientRect(function(res){ res.top // #the-id 节点的上边界坐标(相对于显示区域) }) query.selectViewport().scrollOffs…
发现小程序一个bug, 在小程序插件中使用wx.createSelectorQuery()获取不到节点信息,需要在后面加入in(this) 例如: const query = wx.createSelectorQuery().in(this) query.selectAll('#id-selector').boundingClientRect() query.exec(function (res) { console.log(res) }) 这时候res里面就能获取到节点信息了…
发现小程序一个bug, 在小程序插件中使用wx.createSelectorQuery()获取不到节点信息,需要在后面加入in(this) 例如: const query = wx.createSelectorQuery().in(this) query.selectAll('#id-selector').boundingClientRect() query.exec(function (res) { console.log(res) }) 这时候res里面就能获取到节点信息了…
发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"upload",其它的不做任何处理: <form method="POST" action="upload" enctype="multipart/form-data"> 名字 <input type="text&q…
关于STM32的I2C接口死锁在BUSY状态无法恢复的现象,网上已有很多讨论,看早几年比较老的贴子,有人提到复位MCU也无法恢复.只有断电才行的状况,那可是相当严重的问题.类似复位也无法恢复的情况是存在的,技术支持矢口否认问题存在,并不是正确面对问题的态度.比如我用这款F439芯片的SDRAM控制器,在错误操作后进入HardFault状态,复位无法恢复,JTAG也无法联机,只能断电重来,官方的Erratasheet里也提到了. 如果I2C接口无法可靠工作,那么所做的设计将存在严重隐患,不可能要求…
今天我用到RTX里面使用printf ,发现程序死掉了 我发现很多人遇到了这样的问题 找了网上很多的文章,说是这个是RTX的一个先天不足的问题 我发现了正点原子的 原子哥的解决方案,如下所示: ------------------------------------------------------------------------------- 产生原因: 使用库里的printf函数在输出结束后会调用__used void _mutex_acquire (OS_ID *mutex)这个方法…
先看下面的程序段: public static void main(String[] args) { List<Integer> arrays = new ArrayList<Integer>(); arrays.add(2); arrays.add(null); arrays.add(456); arrays.add(null); arrays.add(789); System.out.println(arrays); } 注:一个list,向其中插入数据时,也插入一些null.…