博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序在组件中获取界面上的节点信息wx.createSelectorQuery
阅读量:5039 次
发布时间:2019-06-12

本文共 1091 字,大约阅读时间需要 3 分钟。

 可以用于获取节点属性、样式、在界面上的位置等信息。

最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置。

示例代码:

const query = wx.createSelectorQuery()query.select('#the-id').boundingClientRect(function(res){  res.top // #the-id 节点的上边界坐标(相对于显示区域)})query.selectViewport().scrollOffset(function(res){  res.scrollTop // 显示区域的竖直滚动位置})query.exec()

 

上述示例中, #the-id 是一个节点选择器,与 CSS 的选择器相近但略有区别,请参见  的相关说明。

在自定义组件或包含自定义组件的页面中,推荐使用 this.createSelectorQuery 来代替  ,这样可以确保在正确的范围内选择节点

 

将选择器的选取范围更改为自定义组件 component 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。

注:在小程序组件的ready生命周期中进行调用,即可获取节点信息。 

 

Component({  methods: {       queryMultipleNodes (){        const query = wx.createSelectorQuery().in(this)        query.select('#the-id').boundingClientRect(function(res){          res.top // 这个组件内 #the-id 节点的上边界坐标        }).exec()      }  },       lifetimes: {    attached: function () {      // 在组件实例进入页面节点树时执行    },    detached: function () {      // 在组件实例被从页面节点树移除时执行    },    ready: function(){      console.log('ready');      this.queryMultipleNodes ();// 获取节点信息    }  },  })

 

 

参考:

获取节点信息:

组件中获取节点信息:

组件生命周期:

 

转载于:https://www.cnblogs.com/taohuaya/p/11043518.html

你可能感兴趣的文章
mysql-1045(28000)错误
查看>>
Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
查看>>
1.jstl c 标签实现判断功能
查看>>
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
查看>>
超详细的Guava RateLimiter限流原理解析
查看>>
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>
Swift - RotateView
查看>>
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
关于多路复用器的综合结果
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
UIActionSheet 修改字体颜色
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
Spring注解之@Lazy注解,源码分析和总结
查看>>
多变量微积分笔记24——空间线积分
查看>>
Magento CE使用Redis的配置过程
查看>>