selectAll改为 observeAll
关于IntersectionObserver同时监听多个节点的问题求官方大佬翻个牌子,看一下我理解的wx.createIntersectionObserver是否正确 场景如下: 前提: 在页面中有多个class为item的节点; 创建IntersectionObserver,设置selectAll为true,并添加.item相交节点监听; 结果: 滚动页面时仅第一个item节点会触发与页面的相交状态变化监听; ------------------------分割线------------------------ 当前我查看文档所理解的selectAll设置为true时的场景是: 会同时监听所有的目标选择器节点,并在触发的res中带有触发节点信息; 当前现象与我所理解的结果有点出入,有没有大佬帮忙解释下selectAll的具体作用, 拜谢~~
2018-11-20ready里面做
组件内部this.createIntersectionObserver无法生效因为首页加载的内容太多了,就打上动态加载模块的东西,就想着能不能利用这个东西去做动态加载 之前看到文档里面有写,如果在组件内部的话就使用this.createIntersectionObserver去创建这个observer,但是发现这样在小程序的自定义组件里面还是无法observer。 因为这个如果换成wx.createIntersectionObserver在Page页面是可以监听得到的,就想问下是哪里的写法写错了么。 另外想问下这种写法是有办法监听父级的viewPort的明天,还是说只能监听组件内部的 代码片段已经在上面了 index.wxml <view class="container"> <C></C> </view> C.wxml <scroll-view class="C" scroll-y="{{true}}"> <view class="header"></view> <view class="observer"></view> <view class="content">C</view> </scroll-view> C.js Component({ attached () { let observer = this.createIntersectionObserver( { thresholds: [0.2, 0.5] }).relativeTo('.C').relativeToViewport() observer.observe('.observer', (res) => { console.log(res) }) console.log(observer) console.log(this) } }) C.wxss .C { height: 1000rpx; } .content { height: 2000rpx; } .C-Observer { height: 10rpx; } .header { height: 1000rpx; }
2018-11-20