Vue项目中 vue-waterfall-easy 瀑布流框架使用

本文档详细介绍了在Vue项目中如何使用vue-waterfall-easy框架,从安装、组件引入、HTML布局到使用vue-resource获取并展示后端数据。特别强调了页面布局显示的重要性,尤其是`#content`块的样式设置,以避免内容不可见的问题。然而,存在一个遗留问题:在PC端浏览器全屏模式下,瀑布流部分可能会被遮挡,这可能是由于插件计算样式时依据document而非父元素导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Installation(安装)

进入到项目当前文件夹,执行命令:

npm install vue-waterfall-easy --save

2、引入vue-waterfall-easy

2.1、main.js中引入

import vueWaterfallEasy from 'vue-waterfall-easy'

2.2、当前vue文件包含组件

export default {
  name: 'app',
  components: {
    vueWaterfallEasy
  }
    //省略其他代码
}

 3、HTML中引入组件

<div id="content">
    <vue-waterfall-easy :imgsArr="imgsArr" @scrollReachBottom="getData"></vue-waterfall-easy>
</div>

3.1、页面布局显示(*重点,有可能页面不可见)

#content块必须设置为

 #content{
  position: absolute;    /*必须*/
  top:32px;              /*top必须,大小可控制*/
  bottom:0;              /*bottom必须,一直延申到当前块底部*/
  width:100%;
}

4、vue-resource获取后端数据并显示在页面

export default {
  name: 'morePicture',
  components: {
    vueWaterfallEasy
  },
  data() {
    return {
      imgsArr: [],
      group: 0, // 当前加载的加载图片的次数
    }
  },
  methods: {
    getData() {
  this.$http.post('http://119.23.71.203:8080/edu/image/eduschoolimageinfo/queryPageList', { 'companyKey': "1" }).then(res => {
        this.group++;
        if (this.group === 10) {
          // 模拟已经无新数据,显示 slot="waterfall-over"
          this.$refs.waterfall.waterfallOver()
          return
        }
        var dataList = res.data.data.dataList;
        console.log(dataList);
        console.log(Array.isArray(dataList));
        for (let v of dataList) {
          var picObj = {
            "src": "./..",
            "href": "",
            "info": ""
          }
          picObj["src"] += v.imageUrl;
          picObj["href"] = v.imageKey;
          picObj["info"] = v.imageName;
          this.imgsArr = this.imgsArr.concat(picObj);
        }
      }).catch((res) => {
        console.log(res);
      });
    }
  },
  created() {
    this.getData();
    // 删除某个卡片
    // setTimeout(()=>{
    //   this.imgsArr.splice(1,1)
    // },2000)
  },
  mounted() {}
}

5、遗留问题

仍然布局问题,整个组件在移动端没有问题,但是在PC端浏览器中最大化时,页面渲染瀑布流部分遮挡,布局针对整个窗口进行改变。可能由于插件中计算样式依据document,而不是根据当前父元素布局计算。

错误布局
问题布局

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值