不打工没钱,打工也没钱,只不过打工一时饿不死而已,不打工很快就饿死。你好像只会说一句话,我看了一下聊天记录,我们的聊天记录里,无论我说什么,你都只回一句:早安,打工人!
全局自定义指令-按钮防抖
//在utils里面创建directive.js 写入:
const throttle = {
bind: (el, binding) => {
let throttleTime = binding.value; // 防抖时间
if (!throttleTime) { // 用户若不设置防抖时间,则默认2s
throttleTime = 2000;
}
let cbFun;
el.addEventListener('click', event => {
if (!cbFun) { // 第一次执行
cbFun = setTimeout(() => {
cbFun = null;
}, throttleTime);
} else {
event && event.stopImmediatePropagation();
}
}, true);
}
}
const directives = {
throttle
}
export default {
install(Vue){
Object.keys(directives).forEach((key)=>{
Vue.directive(key,directives[key])
})
}
}
// 在main.js里面写入
import Directives from '@/utils/directive.js'
Vue.use(Directive)
//在组件按纽中使用写入
<button @click="sayHello" v-throttle>提交</button>
<button @click="sayHello" v-throttle='1000'>提交</button>
Swiper轮播图插件
在下载swiper的时候要加上版本,不然下载后引入各种报错,不加版本默认下载的是swiper6最新版,文件夹里的路径跟swiper4都不一样啦,所以报错说找不到swiper.css
所以安装指定npm install vue-awesome-swiper@3 --save-dev
来个小案例
<template>
<div class="swiperPage">
<swiper :options="swiperOption" ref="mySwiper">
<swiper-slide>我是Slide1</swiper-slide>
<swiper-slide>我是Slide2</swiper-slide>
<swiper-slide>我是Slide3</swiper-slide>
<swiper-slide>我是Slide4</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
<div class="swiper-button-prev" slot="button-prev"></div>
<div class="swiper-button-next" slot="button-next"></div>
</swiper>
</div>
</template>
<script>
// 引入插件
import { swiper, swiperSlide } from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'
export default {
components: {
swiper,
swiperSlide
},
data () {
return {
// 配置项
swiperOption: {
loop: true,
slidesPerView: 3,
spaceBetween: 20,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false
},
pagination: {
el: '.swiper-pagination',
clickable: true // 允许分页点击跳转
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev'
}
}
}
},
computed: {
swiper () {
return this.$refs.mySwiper.swiper
}
},
mounted () {
// current swiper instance
// 然后你就可以使用当前上下文内的swiper对象去做你想做的事了
// this.swiper.slideTo(3, 1000, false)
console.log(this.swiper)
}
}
</script>
<style scoped >
.swiperPage .swiper-container{
position: relative;
width: 600px;
height: 200px;
}
.swiperPage .swiper-container .swiper-slide{
width: 100%;
line-height: 200px;
background: pink;
color: #fff;
font-size: 16px;
text-align: center;
}
</style>
如果swiper-slide是动态加载的数据,loop=true会失效,活动到最后一张不能继续循环滑动
解决办法:在swiper外边套一层div,写上v-if="slideList.length"即可