# vue-data-loading
**Repository Path**: uyghurjava/vue-data-loading
## Basic Information
- **Project Name**: vue-data-loading
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-01-11
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vue-data-loading
[English Document](https://github.com/bedlate/vue-data-loading)
> 一个为滚动加载及下拉/上拉加载而生的组件.
这是一个演示: [HackNews](http://hacknews.xyz)

## 安装
npm install vue-data-loading --save
## 使用
首先导入:
import VueDataLoading from 'vue-data-loading'
注册为组件:
components: {
VueDataLoading
},
你唯一需要做的就是用 `vue-data-loading` 标签将数据包裹起来.
另外,你也可以传入 `props` 或 `events` 参数到组件.
有时候你也能想修改默认的样式或文字,非常简单,只要编辑对应的 `slot` 即可:
举个 `infinite-scroll-loading` 的例子:
*默认*:
加载中...
*编辑*:
loading...
这里有个 [完整的示例](https://github.com/bedlate/vue-data-loading/blob/master/example/App.vue)
## API
### 属性
#### loading
类型: boolean
默认: false
当 `loading` 为 `true` 时将不会触发任何事件, 所以你可以使用它来控制加载数据.
#### completed
类型: boolean
默认: false
当设置为 `true` 时将不会再触发 `infinite-scroll` 事件.
当所有数据全部加载完毕后,建议设置为 `true`
#### init-scroll
类型: boolean
默认: false
如果设置为 `true` 时,组件加载完毕后将会触发一次 `infinite-scroll` 事件.
通常用来处理页面首次加载时候接收数据.
#### distance
类型: number
默认: 60
单位: px
仅对 `touch*` 事件有效, 当下/上拉距离不小于设置的值的时候, `pull-down` 或 `pull-up` 事件将被触发.
#### offset
类型: number
默认: 0
单位: px
有时候你可能希望调节距离底部的距离,来提前触发 `infinite-scroll`
#### listens
类型: array
默认: ['infinite-scroll', 'pull-down', 'pull-up']
不在数组中的事件将不会被触发.
#### container
类型: string
必须: false
所有事件 `events` 默认绑定在 `window` ,如果你想自定义外层容器,需要指定其 `ref` .
#### watch-scroll
类型: boolean
默认: false
如果为 `true` 组件将会触发 `scrolling` 事件.
用来获取 `container` `scrollTop` 和 `scrollLeft` 属性.
### 事件
#### infinite-scroll
当容器已经达到窗口底部时触发
#### pull-down
当容器已经下拉超过 `distance` 属性时触发
#### pull-up
当容器已经上拉超过 `distance` 属性时触发
#### scrolling
当容器滚动时触发.
有个回调参数,返回当前容器的 (scrollTop, scrollLeft).
### Slots
#### infinite-scroll-loading
当已经滚动到窗口底部,且正在 `loading` 时显示
#### pull-down-before
当正在下拉,且下拉距离小于 `distance` 属性显示
#### pull-down-ready
当正在下拉,且下拉距离不小于 `distance` 属性显示
#### pull-down-loading
当正在下拉,且下拉距离不小于 `distance` 属性,且松手时数据正在 `loading` 时显示
#### pull-up-before
当正在上拉,且上拉距离小于 `distance` 属性显示
#### pull-up-ready
当正在上拉,且上拉距离不小于 `distance` 属性显示
#### pull-up-loading
当正在上拉,且上拉距离不小于 `distance` 属性,且松手时数据正在 `loading` 时显示
#### completed
当数据加载完毕(`completed`),且没有加载中(`loading`,如下拉可以出发刷新)
## 开发
``` bash
# 安装依赖
npm install
# 运行示例 localhost:8080
npm run dev
# 编译 vue-data-loading 组件
npm run dist
```