ホームページ  >  記事  >  ウェブフロントエンド  >  vue-infinite-loading を使用して Vue で無限にロードする方法

vue-infinite-loading を使用して Vue で無限にロードする方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-26 14:14:541097ブラウズ

今回は、vue-infinite-loading を使用して Vue で無限ロードする方法を説明します。 vue-infinite-loading を使用して Vue で無限ロードする場合の 注意事項 について説明します。見てください。

注: vue-infinite-loading2.0 は Vue.js2.0 でのみ使用できます。 Vue.js1.0で使いたい場合はvue-infinite-loading1.3版をインストールしてください

インストール方法

npm install vue-infinite-loading --save

インポート方法

es6モジュールインポート方法

import InfiniteLoading from 'vue-infinite-loading';
export default {
 components: {
  InfiniteLoading
 },
};
CommonJSモジュールインポート方法

const InfiniteLoading = require('vue-infinite-loading');
export default {
 components: {
   InfiniteLoading
 }
};
その他の方法

<script src="vue-infinite-loading.js"></script>

ページ内で適用

コンポーネント内で直接宣言

components:{
  InfiniteLoading
}

テンプレート部分

<infinite-loading @infinite="infiniteHandler">
  <span slot="no-more">
     我们是有底线的
  </span>
</infinite-loading>
js部分

infiniteHandler

イベントを自動的にトリガーする

一番下までスクロールすると注意

まだ
this.$refs.infiniteLoading.$emit('$InfiniteLoading:loaded');
this.$refs.infiniteLoading.$emit('$InfiniteLoading:complete');を使用している場合、
警告が表示されます$state にパラメータを渡すときにこのメソッドを使用するように変更されました。

プロパティ

距離: これはスクロールの重要な値です。スクロールの親要素の下部までの距離がこの値より小さい場合、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);
}

スピナー: この属性を使用すると、読み込みアニメーションとしてお気に入りのスピナーの 1 つを選択できます。
spinner="bubbles";
1、bubbles
2、circles
3、default
4、spiral
5、waveDots

<infinite-loading @infinite="infiniteHandler" distance="Number">
</infinite-loading>

direction: この属性を top に設定すると、このコンポーネントはスクロールしたときに表示されます。先頭で、infiniteHandler 関数を呼び出します。

警告: データがロードされた後、スクロール親要素のscrollTopを正しい値に手動で設定する必要があります。そうしないと、コンポーネントはinfiniteHandler関数を何度も呼び出します。

direction="top"

<infinite-loading @infinite="infiniteHandler" spinner="String">
</infinite-loading>

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Vue プロジェクトで発生したクロスドメインの問題を正しく解決する方法

vue-cli axios リクエスト メソッドとクロスドメイン処理の使用方法

以上がvue-infinite-loading を使用して Vue で無限にロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。