手写一个移动端带惯性的轮播图vue组件
利用vue的插槽(solt)的方法实现
- 带有惯性
- 可以适应手机端屏幕
- 可以灵活的修改样式
- 可以手动的拖拽
- 拉力
调用方式:
- 引入组件
export default defineComponent({ components: { slide },
- 在template模板插入代码
<slide ref="slide" :count="swiperData.length" :springrange=".2" >
for="(item, index) in swiperData"> - 在style编swiper-item的样式。
组件代码:
<div
class="swiper-touch"
ref="touch"
@touchstart="touchStart"
@touchmove="touchMove"
@touchend="touchEnd">
<div
class="swiper-wrapper"
:style="{
transform: 'translate3d(' + slideEffect + 'px, 0px, 0px)',
transitionDuration: tdurationTime + 'ms',
width: count + '00%'
}"
>
-
<li
v-for="num in count"
:key="num"
:class="currantIndex === num?'swiper-dots-active':''"
@click="handleChangeCurrantIndex(num)">
总结:
- 相比于其他组件库的组件可能用起来不够简单
- 但是也有自己的优点即灵活度比较高,可以根据自己的想法扩展成自己的组件
- 可以随意的填写自己的样式,做成自己想要的样子