因为首页加载的内容太多了,就打上动态加载模块的东西,就想着能不能利用这个东西去做动态加载
之前看到文档里面有写,如果在组件内部的话就使用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;
}