Rumah > hujung hadapan web > tutorial js > vue-infinite-loading做出无限加载效果

vue-infinite-loading做出无限加载效果

php中世界最好的语言
Lepaskan: 2018-06-09 15:41:52
asal
1981 orang telah melayarinya

这次给大家带来vue-infinite-loading做出无限加载效果,vue-infinite-loading做出无限加载效果的注意事项有哪些,下面就是实战案例,一起来看一下。

注意:vue-infinite-loading2.0只能在Vue.js2.0中使用。如果你想在Vue.js1.0中使用,请安装vue-infinite-loading1.3版本

如何安装

npm install vue-infinite-loading --save
Salin selepas log masuk

导入方式

es6模块导入方式

import InfiniteLoading from 'vue-infinite-loading';
export default {
 components: {
  InfiniteLoading
 },
};
Salin selepas log masuk

CommonJS 模块导入方式

const InfiniteLoading = require('vue-infinite-loading');
export default {
 components: {
   InfiniteLoading
 }
};
Salin selepas log masuk

其他方式

<script src="vue-infinite-loading.js"></script>
Salin selepas log masuk

在页面中应用

直接在组件中声明

components:{
  InfiniteLoading
}
Salin selepas log masuk

模板部分

<infinite-loading @infinite="infiniteHandler">
  <span slot="no-more">
     我们是有底线的
  </span>
</infinite-loading>
Salin selepas log masuk

js部分

当滚动到底部时自动触发infiniteHandler事件

infiniteHandler($state) {
     setTimeout(() => {
       const temp = [];
       for (let i = this.list.length + 1; i <= this.list.length + 20; i++) {
         temp.push(i);
       }
       this.list = this.list.concat(temp);
       $state.loaded();
       $state.complete();
     }, 1000);
}
Salin selepas log masuk

注意

如果还是使用
this.$refs.infiniteLoading.$emit('$InfiniteLoading:loaded');
this.$refs.infiniteLoading.$emit('$InfiniteLoading:complete');
会出现警告,告诉你已经修改为传参传入$state使用这个方法。

属性

distance:这是滚动的临界值。如果到滚动父元素的底部距离小于这个值,那么infiniteHandler回调函数就会被调用。

<infinite-loading @infinite="infiniteHandler" distance="Number">
</infinite-loading>
Salin selepas log masuk

spinner:通过这个属性,你可以选择一个你最喜爱旋转器作为加载动画。
spinner="bubbles";
1、bubbles
2、circles
3、default
4、spiral
5、waveDots

<infinite-loading @infinite="infiniteHandler" spinner="String">
</infinite-loading>
Salin selepas log masuk

direction:如果你设置这个属性为top,那么这个组件将在你滚到顶部的时候,调用infiniteHandler函数。

警告:你必须在数据加载后,手动地将滚动父元素的scrollTop设置为正确的值,否则,该组件会一次又一次调用infiniteHandler函数。

direction="top"

<infinite-loading @infinite="infiniteHandler" direction="String">
</infinite-loading>
Salin selepas log masuk

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

vue项目中watch的immediate使用

怎样在实战项目中使用Installation插件

Atas ialah kandungan terperinci vue-infinite-loading做出无限加载效果. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan