Skip to content

Latest commit

 

History

History
126 lines (100 loc) · 3.18 KB

README-CN.md

File metadata and controls

126 lines (100 loc) · 3.18 KB

vue-lazy-waterfall

NPM version

Vue.js瀑布流组件,支持Vue.js v2.x+.

文档

特性

  • 除了Vue外,别无依赖
  • 懒加载数据
  • 自动排版布局

范例

安装

vue-lazy-waterfall

npm install vue-lazy-waterfall --save

用法

<template>
<div>
  <vueLazyWaterfall :items="items"
                  ref="waterfall"
                  @load="loadData">
                   <div class="pin-item" slot-scope="{item}">
                          <img :src="item.src" alt="">
                        </div>
</vueLazyWaterfall>
</div>
</template>
import vueLazyWaterfall from 'vue-lazy-waterfall';

export default {
  name: 'app',
  data(){
      return {
        items: []
      }
  },
  components: {
    vueLazyWaterfall
  }
}

或者

<script src="dist/vue-lazy-waterfall/index.js"></script>
new Vue({
  el: '#app',
  data(){
    return {
      items: []
    }
  },
  components: {
    vueLazyWaterfall
  },
  
  methods: {
    loadData(){
      //在这里加载数据
      //停止加载 this.$refs.waterfall.end()
    }
  }
})

配置

属性

名称 类型 默认值 描述
items Array - 瀑布流渲染的数据
colNum Number 5 瀑布流展示的列数
width Number 默认是窗口(window)宽度 确定瀑布流的展示宽度
itemWidth Number - 由宽度和列数计算所得,一般不指定
diff Object {top: 0, right: 0, bottom: window.innerHeight, left: 0} 触发懒加载的偏移量
createLazyLoader Function - 替换自带的懒加载,实现自定义的懒加载
autoMode Boolean true 当某一项数据的图片加载完成,不保证按照数据的顺序立即渲染,设置为false,会按照每一页的加载顺序渲染
imageFilter Function - 添加对图片src属性的处理,比如根据浏览器修改图片后缀或者修改加载图片的尺寸
maxLoading Boolean 2 允许同时加载的最多请求数

事件

名称 默认值 描述
load - 懒加载触发加载下一页数据
click - 点击某个子项目
image-load - 图片加载成功
image-error - 图片加载失败

slots

name default slot-scope description
endToBottom - - 瀑布流滚动到底部时展示
- - item 每一项展示的内容

todo

  • 纵向渲染,无需用absolute和计算left&top
  • 横向渲染时,可一行行渲染下来,无需等待每一页数据(图片)加载完成

License

MIT License