ホームページ  >  記事  >  ウェブフロントエンド  >  vue-infinite-loading は無限ロード効果を作成します

vue-infinite-loading は無限ロード効果を作成します

php中世界最好的语言
php中世界最好的语言オリジナル
2018-06-09 15:41:521782ブラウズ

今回は、無限ロード効果を作成するための 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

インポート方法

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イベントを自動的にトリガーする

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);
}

注意

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

プロパティ

距離: これはスクロールの重要な値です。スクロール親要素の下部までの距離がこの値より小さい場合、infiniteHandler コールバック関数が呼び出されます。

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

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

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

direction: この属性を top に設定すると、このコンポーネントは次のときに一番上にスクロールされます。今度は、infiniteHandler 関数を呼び出します。

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

direction="top"

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

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

推奨読書:

vueプロジェクトでのwatchの即時使用

実際のプロジェクトでインストールプラグインを使用する方法

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

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