1、vue使用
1.1、安装
npm i vue-waterfall2
1.2、main.js引入
import waterfall from ‘vue-waterfall2’
Vue.use(waterfall)
1.3、页面使用
<div class="rendering">
<waterfall :col="col" :data="renderList" @loadmore="loadmore" :gutterWidth="0">
<div class="imgBox1" v-for="it in renderList" :key="it.index" @click="goDetail(it.id)">
<div class="img">
<img :src="it.cover.split(',')[0]" alt="">
</div>
<p>{{ it.title }}</p>
</div>
</waterfall>
</div>
<script>
export default {
data() {
return {
col: 2, // 两列
}
},
methods: {
// 上拉加载
loadmore() {
console.log("--加载更多---");
// 假设已经到底,实际根据api接口返回值判断
if (this.renderList.length >= this.total) {
this.finished = true;
return;
}
this.getList();
},
}
}
</script>
2、nuxtJs使用
2.1、在 plugins下新建一个waterfall.js文件
import Vue from 'vue'
import waterfall from 'vue-waterfall2'
Vue.use(waterfall)
2.2、在nuxt.config.js中的plugins下添加一项'@/plugins/waterfall'
plugins: [
{ src: '~/plugins/waterfall.js', ssr: false } // 加的这个
],
2.3、页面使用:跟vue一样
使用这个瀑布流的话最好用它自带的loadmore