微信小程序 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 各浏览器的 Javascript 效率对比
Jan 23 Javascript
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
Feb 18 Javascript
JavaScript通过RegExp实现客户端验证处理程序
May 07 Javascript
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
javascript设置页面背景色及背景图片的方法
Dec 29 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
angularJS深拷贝详解
Mar 23 Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 Javascript
详解nvm管理多版本node踩坑
Jul 26 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
php除数取整示例
2014/04/24 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
Javascript String.replace的妙用
2009/09/08 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
公务员年总结的自我评价
2013/10/25 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
企业宣传策划方案
2014/05/29 职场文书
员工自我评价范文
2015/03/11 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书