uniapp首页轮播图
uniapp首页轮播图实现方法
使用uni-swiper组件
uniapp内置了uni-swiper组件,可以快速实现轮播图效果。在pages/index/index.vue文件中添加以下代码:
<template>
<view>
<swiper :indicator-dots="true" :autoplay="true" :interval="3000">
<swiper-item v-for="(item, index) in swiperList" :key="index">
<image :src="item.image" mode="aspectFill"></image>
</swiper-item>
</swiper>
</view>
</template>
<script>
export default {
data() {
return {
swiperList: [
{ image: '/static/swiper1.jpg' },
{ image: '/static/swiper2.jpg' },
{ image: '/static/swiper3.jpg' }
]
}
}
}
</script>
配置轮播图属性
swiper组件支持多种配置属性:
indicator-dots: 是否显示面板指示点autoplay: 是否自动切换interval: 自动切换时间间隔(毫秒)duration: 滑动动画时长(毫秒)circular: 是否采用衔接滑动
添加指示点样式
可以通过CSS自定义指示点样式:
<style>
swiper {
height: 350rpx;
}
swiper-item image {
width: 100%;
height: 100%;
}
.uni-swiper-dot {
width: 10rpx;
height: 10rpx;
background: rgba(255,255,255,0.5);
}
.uni-swiper-dot-active {
background: #FFFFFF;
}
</style>
实现点击跳转
为轮播图添加点击事件,实现跳转到指定页面:
<swiper-item v-for="(item, index) in swiperList" :key="index" @click="handleSwiperClick(item)">
methods: {
handleSwiperClick(item) {
uni.navigateTo({
url: item.link
})
}
}
网络图片加载
从服务器获取轮播图数据:
onLoad() {
uni.request({
url: 'https://example.com/api/swiper',
success: (res) => {
this.swiperList = res.data
}
})
}
注意事项
- 确保图片路径正确,网络图片需要配置域名白名单
- 轮播图高度建议使用rpx单位适配不同屏幕
- 大量图片时注意性能优化,可考虑懒加载
- 小程序端swiper组件与其他平台表现可能略有差异







