29 lines
673 B
HTML
29 lines
673 B
HTML
<div class="virtual-list-item"
|
|
ref:node
|
|
style="transform: translate3d(0, {{virtualOffset}}px, 0);"
|
|
data-virtual-index="{{virtualIndex}}">
|
|
<:Component {component} :virtualProps :virtualIndex :intersectionObserver />
|
|
</div>
|
|
<style>
|
|
.virtual-list-item {
|
|
position: absolute;
|
|
top: 0;
|
|
will-change: transform;
|
|
}
|
|
</style>
|
|
<script>
|
|
export default {
|
|
oncreate() {
|
|
this.observe('intersectionObserver', (intersectionObserver) => {
|
|
if (intersectionObserver) {
|
|
intersectionObserver.observe(this.refs.node)
|
|
}
|
|
})
|
|
},
|
|
methods: {
|
|
showRefs () {
|
|
console.log(this.refs)
|
|
}
|
|
}
|
|
}
|
|
</script> |