15 lines
366 B
JavaScript
15 lines
366 B
JavaScript
import { inject, onBeforeUnmount } from 'vue'
|
|
|
|
export default (callback = () => {}, instanceId) => {
|
|
const instanceKey = `lenis${instanceId ? `-${instanceId}` : ''}`
|
|
const lenis = inject(instanceKey)
|
|
|
|
if (lenis.value) {
|
|
lenis.value.on('scroll', callback)
|
|
}
|
|
|
|
onBeforeUnmount(() => lenis.value?.off('scroll', callback))
|
|
|
|
return lenis
|
|
}
|