keen-slider icon indicating copy to clipboard operation
keen-slider copied to clipboard

auto destroy

Open mansurkhoja opened this issue 1 year ago • 2 comments

is it possible turn off auto destroy when unmount?

mansurkhoja avatar Jul 30 '23 19:07 mansurkhoja

@Mansurkhoja hi! Have you found a solution?

hc-chumak avatar Aug 22 '23 23:08 hc-chumak

my solution with destroy(), you can just remove onBeforeRouteLeave:

<template lang="pug">
div(:class='cls.wrapper')
  div(ref='container', :class='cls.container')
    div(
      v-for='(project, i) in projects',
      :key='i',
      data-slide
    )
      div {{ project.name }}
</template>

<script lang="ts" setup>
import KeenSlider from 'keen-slider'
import { KeenSliderInstance } from 'keen-slider/vue'

type TProps = {
  projects: IProject[]
}

defineProps<TProps>()

const container = ref<HTMLElement>()
const slider = ref<KeenSliderInstance>()

onMounted(() => {
  slider.value = new KeenSlider(container.value as HTMLElement, {
    selector: '[data-slide]'
  })
})

onBeforeRouteLeave(() => {
  setTimeout(() => slider.value?.destroy(), 500)
})
</script>

hc-chumak avatar Aug 22 '23 23:08 hc-chumak