微信小程序 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 相关文章推荐
IE的有条件注释判定IE版本详解(附实例代码)
Jan 04 Javascript
jquery放大镜效果超漂亮噢
Nov 15 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
Apr 15 Javascript
Vue.js Ajax动态参数与列表显示实现方法
Oct 20 Javascript
jQuery中Nicescroll滚动条插件的用法
Nov 10 Javascript
Bootstrap如何激活导航状态
Mar 22 Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 Javascript
小程序click-scroll组件设计
Jun 18 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
Nov 19 Javascript
js 数组 fill() 填充方法
Nov 02 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查询域名状态whois的类
2006/11/25 PHP
php 获取全局变量的代码
2011/04/21 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
javascript每日必学之多态
2016/02/23 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
javascript设计模式之装饰者模式
2020/01/30 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
分享15个最受欢迎的Python开源框架
2014/07/13 Python
Python中查看文件名和文件路径
2017/03/31 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
Python continue继续循环用法总结
2018/06/10 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
优良学风班总结材料
2014/02/08 职场文书
体育教学随笔感言
2014/02/24 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
毕业论文致谢词
2015/05/14 职场文书
起诉书格式范文
2015/05/20 职场文书
小学班长竞选稿
2015/11/20 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
python随机打印成绩排名表
2021/06/23 Python