组件内部this.createIntersectionObserver无法生效
发布于 5 年前 作者 kchen 14035 次浏览 来自 问答

因为首页加载的内容太多了,就打上动态加载模块的东西,就想着能不能利用这个东西去做动态加载

之前看到文档里面有写,如果在组件内部的话就使用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;

}

2 回复
回到顶部