我正在尝试确定插槽元素是否具有滚动条。如果确实如此,我想在插槽旁边添加一个显示全部/显示更少的链接,这将相应地扩展或收缩它。
我正在使用 IntersectionObserver,因为它似乎是为这个用例设计的。该槽包含一个 ul ,它本身具有可变数量的 li 孩子。直到触发添加显示更多/显示链接的函数之后才会填充 ul - 因此使用 IntersectionObserver。我写的函数应该返回一个布尔值:
_isOverflowing( rootElem, childElem ) {
// rootElem is the slot; childElem is the ul
let observer;
const options = {
root: rootElem,
threshold: 1.0
};
function handleIntersect(entries, observer) {
entries.forEach(entry => {
return entry.intersectionRatio >= options.threshold
});
}
observer = new IntersectionObserver(handleIntersect, options);
return observer.observe( childElem );
}
我所看到的是最终功能
observer.observe( childElem )
返回未定义。我究竟做错了什么?