微信小程序 WXML节点信息查询详解


Posted in Javascript onJuly 29, 2019

1、节点信息查询

const query = wx.createSelectorQuery();//【返回节点查询对象:SelectorQuery】
//组件内,则用this.createSelectorQuery();或者query .in(this);
节点查询对象:SelectorQuery
.in(this) //限定范围为自身组件,返回【节点查询对象】(所以可以和下面的方法,点连调用)
.exec(function callback) //执行查询

//根据str选择器查询,或者查询视窗。【返回节点对象:NodesRef】
.select(selector) //根据选择器str查询,返回一个匹配
.selectAll(selector) //根据选择器str查询,返回所有匹配
.selectViewport()//选择显示区域
节点对象:NodesRef
//执行底下请求后,返回SelectorQuery对象。
.fields({//这个是常规查询,你想要查询的信息,配置好,就可以查询。底下还有细分的某一类查询。
 id:true,//这两个以下细分节点查询都会有这个返回
 dataset:true,

 rect:true,//这两个包括id,dataset。相当于boundingClientRect查询
 size:true,

 scrollOffset:true,//这个包括,id,dataset。相当于scrollOffset查询

 context:true,//这个包括id,dataset。相当于context查询
 
 properties:[],//可以获取除id,class,style,事件绑定之外的属性
 computedStyle:[],//可以获取样式
})

.boundingClientRect(function callback)//相对于显示区域,以像素为单位
//返回节点,相当于视图的(左上为原点)四个边的边界像素。及宽高。及dataset
//相当于:id:true, dataset:true,rect:true,size:true,


.scrollOffset(function callback)//添加节点的滚动位置查询请求。以像素为单位。节点必须是 scroll-view 或者 viewport
//相当于 id:true,dataset:true,

.context(function callback)//添加节点的 Context 对象查询请求。
目前支持 VideoContext、CanvasContext、LivePlayerContext 和 MapContext 的获取

总结:

第一步,返回节点查询对象:

const query = wx.createSelectorQuery();

第二步,查询对象执行查询,返回节点对象:

query .in(this);//返回节点查询对象【如果要限定组件范围则需要】

select(selector)/selectAll(selector)/selectViewport()     .

第三步,节点对象配置需要的节点信息,返回查询对象:

fields()/boundingClientRect()/scrollOffset()/context()

第四步,查询对象执行查询:

exec(function callback)

说明:function callback,可以放在exec。也可以放在boundingClientRect()/scrollOffset()/context()

但如果像fields().。只能放在exec

2、节点相交状态查询

wx.createIntersectionObserver();//组件用:wx.createIntersectionObserver(this);
//返回节点观察到对象
选择参照区域
.relativeTo(selector,[margins])//选择某个节点区域作为参照物
或
relativeToViewport([margins])//选择视图置为参照物

其中:margins:用来扩展(或收缩)参照节点布局区域的边界

其中:margins:用来扩展(或收缩)参照节点布局区域的边界

选择观察者,并且开始监听
.observe(string targetSelector, function callback)
停止监听:
.disconnect()

总结:

可以实现吸附等功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript堆排序算法详解
Dec 03 Javascript
JavaScript按值删除数组元素的方法
Apr 24 Javascript
JavaScript动态插入CSS的方法
Dec 10 Javascript
JavaScript原生对象常用方法总结(推荐)
May 13 Javascript
js倒计时简单实现代码
Aug 11 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
深入理解ES6 Promise 扩展always方法
Sep 26 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
Jan 09 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
May 08 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
Nov 22 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
Nov 06 Javascript
浅谈JavaScript中this的指向更改
Jul 28 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 #Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 #Javascript
vue.js 2.0实现简单分页效果
Jul 29 #Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 #Javascript
教你搭建按需加载的Vue组件库(小结)
Jul 29 #Javascript
JavaScript 继承 封装 多态实现及原理详解
Jul 29 #Javascript
Vue2.0实现简单分页及跳转效果
Jul 29 #Javascript
You might like
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
cmd下运行php脚本
2008/11/25 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Pyramid添加Middleware的方法实例
2013/11/27 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
详解python中init方法和随机数方法
2019/03/13 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
python计算二维矩形IOU实例
2020/01/18 Python
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
网络技术支持面试题
2013/04/22 面试题
护士进修自我鉴定
2014/02/07 职场文书
小学教师师德承诺书
2014/05/23 职场文书
物资采购方案
2014/06/12 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
领导干部考核评语
2015/01/04 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书
python基础入门之字典和集合
2021/06/13 Python
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL