component({
didmount() {
const observecallback = (entry) => {
entry.intersectionratio;
};
if (my.caniuse('component.createviewportintersectionobserver')) {
const observer = this.createviewportintersectionobserver((entries) => {
// 多个节点会一起结算观察结果
for (const entry of entries) {
observecallback(entry);
}
}, {
initialratio: 0,
thresholds: [0]
});
observer.observe('.foo');
} else {
const observer = my.createintersectionobserver({
initialratio: 0,
thresholds: [0],
// createviewportintersectionobserver
// 不接受 my.createintersectionobserver 下面的两个参数,
// 但功能上等同于这两个参数开启
selectall: true,
dataset: true
}).in(this).relativetoviewport();
observer.observe('.foo', (entry) => {
// 单个节点分别结算观察结果
observecallback(entry);
});
}
}
});