小程序
小游戏
企业微信
微信支付
扫描小程序码分享
1、功能需求需要我通过wx.createSelectorQuery()API获取节点的初始top值
2、但是我把这个api放在onShow与onReady这两个生命周期函数里面,依旧不能拿到正确准确的top值
3、因为页面加载时候会给对应节点填充内容,所以正常来说放在这个两个函数内应该是可以拿到正确准确的top值的吧?
4、目前解决方案是给调用api时候加个定时器延迟调用。
5、恳请官方解答,这是不是生命周期函数的bug!!
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
top值跟节点里面数据没关系的,只是节点相对于父定位容器的值而已
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
是的,的确是可以拿到值,但如果节点内有数据需要进行填充,那么当前节点,以及节点下面的节点,就不能拿到准确的top值了。
比如:没有填充数据前的top:90,填充后的top:390,在onReady和onShow里面只能拿到90,明明这两个生命周期函数是在页面全部渲染完成后才调用的,理应拿到填充后的390才对不行吗?
还有一个问题就是在开发者工具里面,有时候能在这两个函数内调用api拿到准确,但是换成手机测试,就失败了
不知道你代码是怎样的,我的是在onload里面动态添加节点数据,然后在onReady里面可以拿到值
试过了,onReady和onShow两个都不行,只要在onload里面给节点填充了数据,就那不到准确的top值
放在onReady里面可以拿到吖
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
top值跟节点里面数据没关系的,只是节点相对于父定位容器的值而已
是的,的确是可以拿到值,但如果节点内有数据需要进行填充,那么当前节点,以及节点下面的节点,就不能拿到准确的top值了。
比如:没有填充数据前的top:90,填充后的top:390,在onReady和onShow里面只能拿到90,明明这两个生命周期函数是在页面全部渲染完成后才调用的,理应拿到填充后的390才对不行吗?
还有一个问题就是在开发者工具里面,有时候能在这两个函数内调用api拿到准确,但是换成手机测试,就失败了
不知道你代码是怎样的,我的是在onload里面动态添加节点数据,然后在onReady里面可以拿到值
试过了,onReady和onShow两个都不行,只要在onload里面给节点填充了数据,就那不到准确的top值
放在onReady里面可以拿到吖