taro3 微信小程序 createIntersectionObserver 监听无效

项目: taro3 + vue3

官方文档

版本:3.x
Taro.createIntersectionObserver(component, options)
创建并返回一个 IntersectionObserver 对象实例。在自定义组件或包含自定义组件的页面中,应使用 this.createIntersectionObserver([options]) 来代替。

支持情况:微信小程序 抖音小程序 H5 React Native Harmony

类型
(component: TaroGeneral.IAnyObject, options?: Option) => IntersectionObserver

参数
参数 类型 说明
component TaroGeneral.IAnyObject 自定义组件实例
options Option 选项
Option
选项

参数 类型 必填 说明
initialRatio number 否 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。
observeAll boolean 否 是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能)
thresholds number[] 否 一个数值数组,包含所有阈值。

方法

relativeToViewport — 页面作为显示区域

relativeTo — 指定的容器作为区域

observe — 监听的节点

disconnect — 停止监听

官方示例
Taro.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => {
  res.intersectionRatio // 相交区域占目标节点的布局区域的比例
  res.intersectionRect // 相交区域
  res.intersectionRect.left // 相交区域的左边界坐标
  res.intersectionRect.top // 相交区域的上边界坐标
  res.intersectionRect.width // 相交区域的宽度
  res.intersectionRect.height // 相交区域的高度
})

relativeToViewport的参数:触发的位置值 {left, top, right, bottom}

在这里插入图片描述

遇到的坑

项目中用Taro.createIntersectionObserver()并不能监听到,第一个参数用this也是无效

解决方案:this改成 getCurrentInstance().page

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Misha韩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值