• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序在组件中获取界面上的节点信息wx.createSelectorQuery

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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

示例代码:

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 的选择器相近但略有区别,请参见 SelectorQuery.select 的相关说明。

在自定义组件或包含自定义组件的页面中,推荐使用 this.createSelectorQuery 来代替 wx.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://developers.weixin.qq.com/miniprogram/dev/framework/view/selector.html

组件中获取节点信息:

https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.in.html

组件生命周期:

https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
详解ASP.NET中获取小程序二维码图片的操作 后端发布时间:2022-07-18
下一篇:
获取小程序码发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap