VUE-waterfall瀑布流组件使用

1.安装依赖:

npm i vue-waterfall2@latest --save

2.全局引入:

import waterfall from 'vue-waterfall2'

Vue.use(waterfall)

3.waterfall.vue:

<template>
  <div class="container-water-fall">
    <waterfall
      :col="col"
      :data="data"
      @loadmore="loadmore"
      :lazy-distance="20"
      :load-distance="300"
      :gutterWidth="gutterWidth"
    >
      <template>
        <div class="cell-item" v-for="(item, index) in data" :key="index">
          <img v-if="item.img" :lazy-src="item.img" alt="加载错误" />
          <div class="item-body">
            <div class="item-desc">{{ item.title }}</div>
            <div class="item-footer">
              <div
                v-if="item.avatar"
                class="avatar"
                :style="{ backgroundImage: `url(${item.avatar})` }"
              ></div>
              <div class="name">{{ item.user }}</div>
              <div class="like" :class="item.liked ? 'active' : ''">
                <i></i>
                <div class="like-total">{{ item.like }}</div>
              </div>
            </div>
          </div>
        </div>
      </template>
    </waterfall>
    <loading :show="loading" />
  </div>
</template>

<script>
/*
  注意:
  1.itemWidth需要与gutterWidth一起使用才会生效,否则会进行自适应宽度
  2.使用了waterfall的组件不允许使用scoped,否则样式会有问题
*/
// import Vue from 'vue'
import loading from "./loading";
export default {
  props: {
    title: String,
  },
  components: {
    loading,
  },
  data() {
    return {
      data: [],
      col: 4,
      loading: false,
      gitHubData: {},
      originData: [
        {
          img: "https://image.watsons.com.cn//upload/771082d6.png?w=337&h=449&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "让肌肤喝饱水!(学生党必备的平价好物)",
          user: "illusionwing",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/71325866.jpg?w=850&h=566&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "夏天用这款姨妈巾,让你体验真正的清爽",
          user: "迷人的小妖精迷人的小妖精",
          like: "952",
        },
        {
          img: "https://image.watsons.com.cn//upload/607c601d.jpg?w=750&h=956&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "让肌肤喝饱水!(学生党必备的平价好物)",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/a2c613bf.png?w=600&h=800&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "肌龄重返18岁!一起来沐浴吧!!",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/c3654a26.jpg?w=750&h=750&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "夏天用这款姨妈巾,让你体验真正的清爽",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/6fa0c632.jpg?w=750&h=750&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "夏天用这款姨妈巾,让你体验真正的清爽",
          user: "illusionwing",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/1c5bcbf1.JPG?w=977&h=1180&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "真的是万能.超级实用.包包必备单品! ! !",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/31a278eb.JPG?w=828&h=1104&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "最近浴室新宠,日系神仙好物了解一下~",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/78011339.JPG?w=750&h=729&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title:
            "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
          user: "illusionwing",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/2029532c.JPG?w=750&h=995&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "肌龄重返18岁!一起来沐浴吧!!",
          user: "迷人的小妖精迷人的小妖精123",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/a95efb35.JPG?w=800&h=800&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "让肌肤喝饱水!(学生党必备的平价好物)",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/953d3a69.JPG?w=744&h=992&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
          user: "illusionwing",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/526d0914.JPG?w=1080&h=1080&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "真的是万能.超级实用.包包必备单品! ! !",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/9961a12e.JPG?w=1110&h=1280&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title:
            "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试1",
          user: "迷人的小妖精迷人的小妖精123",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/76de81ab.jpg?w=750&h=974&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/3b45f8a6.png?w=744&h=682&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "让肌肤喝饱水!(学生党必备的平价好物)",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/d227f355.jpg?w=1080&h=1089&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title:
            "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/5f4f379b.jpg?w=750&h=750&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "真的是万能.超级实用.包包必备单品! ! !",
          user: "迷人的小妖精迷人的小妖精123",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/1ac4b12f.jpg?w=864&h=1152&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "真香警告!唇釉也能KO猪油嘴",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/4e42f592.jpg?w=750&h=976&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "最近浴室新宠,日系神仙好物了解一下~",
          user: "illusionwing",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/31c2723e.jpg?w=1080&h=1080&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "真的是万能.超级实用.包包必备单品! ! !",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/5941cd81.png?w=376&h=490&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
          user: "迷人的小妖精迷人的小妖精123",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/63e84429.jpg?w=686&h=705&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "真的是万能.超级实用.包包必备单品! ! !",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/241244b5.jpg?w=1000&h=1000&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "肌龄重返18岁!一起来沐浴吧!!",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/7a63d5ba.JPG?w=690&h=666&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title:
            "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
          user: "迷人的小妖精迷人的小妖精",
          like: "953",
        },
        {
          img: "https://image.watsons.com.cn//upload/e9047336.jpg?w=750&h=736&x-oss-process=image/resize,w_1080",
          avatar:
            "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
          title: "真香警告!唇釉也能KO猪油嘴",
          user: "迷人的小妖精迷人的小妖精123",
          like: "953",
        },
      ],
    };
  },
  computed: {
    itemWidth() {
      return 133 * 0.5 * (document.documentElement.clientWidth / 375);
    },
    gutterWidth() {
      return 10 * 0.5 * (document.documentElement.clientWidth / 375);
    },
  },
  methods: {
    loadmore(num) {
      // Vue.set(this.data[index],'liked',true)
      // const obj = {c:123,d:456}
      // const {c:a,d:b} = obj
      console.log("loadmore");
      this.loading = true;
      setTimeout(() => {
        this.data = this.data.concat(
          this.originData,
          this.originData,
          this.originData
        );
        this.loading = false;
        // console.log(this.data.length)
      }, 1000);
      // this.$waterfall.resize()
    },
  },
  created() {
    var self = this;
    this.data = [
      {
        img: "https://image.watsons.com.cn//upload/8a316140.png?w=377&h=451&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "最近浴室新宠,日系神仙好物了解一下~",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/5c3e51e4.jpg?w=720&h=960&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "真的是万能.超级实用.包包必备单品! ! !",
        user: "迷人的小妖精迷人的小妖精",
        like: "952",
      },
      {
        img: "https://image.watsons.com.cn//upload/bef41e67.JPG?w=712&h=534&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/13afe9a7.jpg?x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/642cb83c.jpeg?w=1080&h=1080&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/98c7c4c3.jpg?w=1210&h=1210&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/25ab20fe.JPG?w=1000&h=1200&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/083767f0.JPG?w=828&h=620&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/92761043.JPG?w=1000&h=999&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/31e42833.jpg?w=750&h=750&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "我想喝你的洗澡水!",
        user: "MFF",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/02a4f38d.jpg?w=1067&h=1067&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/9d5d58d0-7f91-5792-b8e3-25b13b5c1807?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/92761043.JPG?w=1000&h=999&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/7e4df2f1-a364-59e7-b7a8-b165abbecd69?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/da61c0f5.jpg?w=959&h=958&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精123",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/eb971d00-05ab-5b2a-ba03-52d8f544c42b?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/9d5d58d0-7f91-5792-b8e3-25b13b5c1807?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/589585c1.jpeg?x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/60cc9b8e.jpg?w=991&h=744&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/4a3c1788.jpg?w=823&h=1000&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "MFF",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/7e4df2f1-a364-59e7-b7a8-b165abbecd69?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/d862d932.jpg?w=1080&h=1440&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "真的是万能.超级实用.包包必备单品! ! !",
        user: "迷人的小妖精迷人的小妖精123",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/0a89e6b7.jpg?w=1080&h=1920&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/97247d43-f7ab-5755-a6a6-c5e6c293442f?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "MFF",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/b709ed72.jpg?w=552&h=414&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/19216d62-09cd-5d00-8116-0d60c9fb9102?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精123",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/eb4fb58f.jpg?w=1080&h=1080&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/97247d43-f7ab-5755-a6a6-c5e6c293442f?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/99253111.jpg?w=1080&h=1920&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/19216d62-09cd-5d00-8116-0d60c9fb9102?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "最近浴室新宠,日系神仙好物了解一下~",
        user: "迷人的小妖精迷人的小妖精123",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/fcd68df4.jpg?w=1080&h=1080&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/99253111.jpg?w=1080&h=1920&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/97247d43-f7ab-5755-a6a6-c5e6c293442f?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/dce45845.png?w=1080&h=1438&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "真的是万能.超级实用.包包必备单品! ! !",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/19216d62-09cd-5d00-8116-0d60c9fb9102?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "MFF",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/589585c1.jpeg?x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/415f984f.jpeg?w=828&h=1104&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "最近浴室新宠,日系神仙好物了解一下~",
        user: "迷人的小妖精迷人的小妖精123",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/9d5d58d0-7f91-5792-b8e3-25b13b5c1807?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "真的是万能.超级实用.包包必备单品! ! !",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/137b50b0.jpg?x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title:
          "贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试贵妇级好用的水乳有哪些呢?千万不要去乱尝试",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/54c5d7b4.jpg?w=828&h=991&x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "MFF",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/19216d62-09cd-5d00-8116-0d60c9fb9102?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "迷人的小妖精迷人的小妖精123",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/9d5d58d0-7f91-5792-b8e3-25b13b5c1807?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "最近浴室新宠,日系神仙好物了解一下~",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/97247d43-f7ab-5755-a6a6-c5e6c293442f?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "真的是万能.超级实用.包包必备单品! ! !",
        user: "迷人的小妖精迷人的小妖精",
        like: "953",
      },
      {
        img: "https://image.watsons.com.cn//upload/71d19462.jpg?x-oss-process=image/resize,w_1080",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "夏天用这款姨妈巾,让你体验真正的清爽",
        user: "MFF",
        like: "953",
      },
      {
        img: "https://ci.xiaohongshu.com/19216d62-09cd-5d00-8116-0d60c9fb9102?imageView2/2/w/400/q/50/format/jpg",
        avatar:
          "https://img.xiaohongshu.com/avatar/5b7d198a7e6e15000155f7c9.jpg@80w_80h_90q_1e_1c_1x.jpg",
        title: "150元搞定全套护肤品,这些护肤好物必须交出来!",
        user: "迷人的小妖精迷人的小妖精123",
        like: "953",
      },
    ];
    if(document.documentElement.clientWidth<800){
        this.col = 2
    }
  },
};
</script>
<style  lang="less" scoped>
* {
  margin: 0;
}
.container-water-fall {
  padding-top: 30px;
  box-sizing: border-box;
  h4 {
    padding-top: 56px;
    padding-bottom: 28px;
    font-family: PingFangSC-Medium;
    font-size: 36px;
    color: #000000;
    letter-spacing: 1px;
    text-align: justify;
  }
  button {
    // background-image: linear-gradient(-180deg,#fafbfc,#eff3f6 90%);
    background-color: yellow;
    color: #24292e;
    border: 1px solid rgba(27, 31, 35, 0.2);
    border-radius: 0.25em;
    width: 100px;
    line-height: 26px;
    font-size: 13px;

    margin: 4px 0;
    margin-right: 4px;
    cursor: pointer;
    outline: none;
    &.blue-light {
      background: #27fbc2;
    }
  }
  button:hover {
    background-image: linear-gradient(-180deg, #fafbfc, #ccc 90%);
  }
  .cell-item {
    width: 100%;
    // margin-bottom: 18px;
    background: #ffffff;
    border: 2px solid #f0f0f0;
    border-radius: 12px 12px 12px 12px;
    overflow: hidden;
    box-sizing: border-box;
    img {
      // border-radius: 12px 12px 0 0;
      width: 100%;
      height: auto;
      display: block;
    }
    .item-body {
      // border: 1px solid #F0F0F0;
      padding: 12px;
      .item-desc {
        font-size: 15px;
        color: #333333;
        line-height: 15px;
        font-weight: bold;
      }
      .item-footer {
        margin-top: 22px;
        position: relative;
        display: flex;
        align-items: center;
        .avatar {
          width: 44px;
          height: 44px;
          border-radius: 50%;
          background-repeat: no-repeat;
          background-size: contain;
        }
        .name {
          max-width: 150px;
          margin-left: 10px;
          font-size: 14px;
          color: #999999;
        }
        .like {
          position: absolute;
          right: 0;
          display: flex;
          align-items: center;
          &.active {
            i {
            }
            .like-total {
              color: #ff4479;
            }
          }
          i {
            width: 28px;
            display: block;
          }
          .like-total {
            margin-left: 10px;
            font-size: 12px;
            color: #999999;
          }
        }
      }
    }
  }
}
.githubdata {
  float: right;
  margin-right: 90px;
  img {
    width: 14px;
    // height: 16px;
  }
}
.action {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  background: white;
  width: 100%;
  padding-left: 10px;
  box-sizing: border-box;
}
</style>

4.loading.vue

<template>
	<div class="loader-layer" :class="show?'active':''">
		<div class="spinner">
		  <div class="double-bounce1"></div>
		  <div class="double-bounce2"></div>
		  loading...
		</div>
	</div>
</template>
<script>
	export default{
		props:['show']
	}
</script>
<style scoped>
.loader-layer{
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: white;
	
	transition: all 0.6s;
	opacity: 0;
	-webkit-opacity: 0;
	-o-opacity: 0;
	-ms-opacity: 0;
	-moz-opacity: 0;
	visibility: hidden;

	filter:alpha(opacity=0);
}
.loader-layer.active{
	visibility:visible;
	opacity: 1;
	-webkit-opacity: 1;
	-o-opacity: 1;
	-ms-opacity: 1;
	-moz-opacity: 1;
	filter:alpha(opacity=100);
}

.spinner {
  width: 120px;
  height: 120px;
  text-align: center;
  line-height: 120px;
 
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  white-space: nowrap;
  overflow: hidden;

}
 
.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #1ABC9C;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
   
  -webkit-animation: bounce 2.0s infinite ease-in-out;
  animation: bounce 2.0s infinite ease-in-out;
}
 
.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}
 
@-webkit-keyframes bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}
 
@keyframes bounce {
  0%, 100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}

@keyframes loading{
	from{
		opacity: 0
	}
	to{
		opacity: 1;
	}
}
</style>

waterfall相关API:

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue-waterfall2 是一个 Vue.js瀑布流组件,可以实现类似 Pinterest 的布局效果。要实现触底加载功能,需要在组件中监听滚动事件,判断滚动条是否到达底部,然后触发加载更多数据的方法。 以下是一个简单的示例代码: ```vue <template> <waterfall :list="list" :options="options" @scroll="handleScroll"></waterfall> </template> <script> import Waterfall from 'vue-waterfall2' export default { components: { Waterfall }, data() { return { list: [], // 列表数据 options: { // 瀑布流配置项 }, currentPage: 1, // 当前页码 isEnd: false, // 是否已经加载完所有数据 } }, mounted() { this.loadMore() }, methods: { loadMore() { if (this.isEnd) return // 发送请求获取数据,这里假设返回一个 Promise 对象 fetchData(this.currentPage).then((data) => { if (data.length) { this.list = this.list.concat(data) this.currentPage++ } else { this.isEnd = true } }) }, handleScroll(position) { // 监听滚动事件 const { maxY } = position if (maxY <= window.innerHeight) { this.loadMore() } }, }, } </script> ``` 在这个示例中,我们定义了一个 `list` 数组来存放列表数据,`options` 对象用来配置瀑布流效果。在 `mounted` 钩子函数中,我们首次加载数据。`loadMore` 方法用来加载更多数据,其中 `fetchData` 方法用来发送网络请求获取数据。在 `handleScroll` 方法中,我们监听了 `waterfall` 组件的滚动事件,当滚动到底部时触发加载更多数据的方法。`isEnd` 变量用来判断是否已经加载完所有数据,避免重复请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值