fix: [디자인QA] 슬라이드 인덱스 전환 시 영상이 처음부터 재생되도록 적용

This commit is contained in:
clkim
2025-12-03 15:43:21 +09:00
parent 73adfc9769
commit fd479483bb
15 changed files with 179 additions and 138 deletions

View File

@@ -24,6 +24,8 @@ const props = withDefaults(defineProps<Props>(), {
const emit = defineEmits(['mounted', 'move', 'arrowClick'])
const splideIndex = defineModel<number>('index', { required: false })
const splideRef = ref()
// Splide 화살표 로직을 위한 composable 사용
const { addArrowClickListeners } = useSplideArrow()
@@ -56,13 +58,13 @@ const options = computed((): ResponsiveOptions => {
}
})
defineExpose({
splide: computed(() => splideRef.value?.splide),
})
const handleSplideMounted = (splide: SplideType) => {
emit('mounted', splide)
if (splideIndex.value !== undefined) {
splideIndex.value = splide.index
}
// 화살표 버튼 클릭 이벤트 리스너 추가
nextTick(() => {
addArrowClickListeners(splide, (direction, targetIndex) => {
@@ -78,7 +80,15 @@ const handleMove = (
destIndex: number
) => {
emit('move', splide, newIndex, oldIndex, destIndex)
if (splideIndex.value !== undefined) {
splideIndex.value = newIndex
}
}
defineExpose({
splide: computed(() => splideRef.value?.splide),
})
</script>
<template>