一、项目搭建
首先,我们需要创建一个Vue3项目。您可以使用Vue CLI或Vite来快速搭建:
# 使用Vue CLI
vue create vue-image-switcher
# 使用Vite
npm init vite@latest vue-image-switcher -- --template vue
二、组件设计
<template>
<div class="image-switcher">
<div
v-for="(image, index) in images"
:key="index"
:class="{ active: currentIndex === index }"
@click="switchImage(index)"
>
<img :src="image" alt="Image" />
</div>
</div>
</template>
<script>
export default {
data() {
return {
images: [
'path/to/image1.jpg',
'path/to/image2.jpg',
'path/to/image3.jpg',
],
currentIndex: 0,
};
},
methods: {
switchImage(index) {
this.currentIndex = index;
},
},
};
</script>
<style scoped>
.image-switcher {
display: flex;
overflow: hidden;
}
.image-switcher > div {
width: 100px;
height: 100px;
margin-right: 10px;
border: 1px solid #ccc;
}
.image-switcher > div img {
width: 100%;
height: 100%;
}
.image-switcher > div.active {
border: 2px solid blue;
}
</style>
三、图片切换逻辑
四、使用组件
在父组件中,您可以将ImageSwitcher组件引入并使用:
<template>
<div>
<ImageSwitcher />
</div>
</template>
<script>
import ImageSwitcher from './components/ImageSwitcher.vue';
export default {
components: {
ImageSwitcher,
},
};
</script>
五、优化与扩展
- 无限滚动:您可以为图片切换组件添加无限滚动功能,实现无限循环切换图片。
- 懒加载:为了提高页面性能,您可以尝试使用Vue的懒加载功能,按需加载图片。
- 动画效果:为图片切换添加动画效果,提升用户体验。