Vueで無限スクロールリストを実装するにはどうすればよいですか?
Web アプリケーションでは、スクロール リストはデータを表示する非常に一般的な方法ですが、無限スクロール リストはより多くのデータを動的に読み込む方法です。 Vue で無限スクロール リストを実装するのはそれほど難しいことではなく、簡単な操作で簡単に無限スクロール リストを実装できます。
- データの準備
まず、表示するデータを準備する必要があります。通常、このデータはインターフェイスを通じて取得されます。この例では、偽のデータ ソースを使用してデータの取得をシミュレートできます。
const data = [ { id: 1, content: '第1条数据' }, { id: 2, content: '第2条数据' }, { id: 3, content: '第3条数据' }, { id: 4, content: '第4条数据' }, { id: 5, content: '第5条数据' }, { id: 6, content: '第6条数据' }, { id: 7, content: '第7条数据' }, { id: 8, content: '第8条数据' }, { id: 9, content: '第9条数据' }, { id: 10, content: '第10条数据' } ];
- 無限スクロールの実現
次に、Vue 命令を使用する必要がありますv -infinite-scroll
を使用すると、無限スクロールを実現できます。まず、テンプレートでは、以下に示すように、データを表示するコンテナーが必要で、このコンテナーにディレクティブを設定します。
<div class="list" v-infinite-scroll="loadMore"> <div v-for="item in items" :key="item.id" class="item">{{ item.content }}</div> </div>
ここでは、v-infinite-scroll
命令を渡します。対応するメソッド loadMore
をトリガーします。このメソッドは、現在表示されているデータに基づいて追加のデータを動的に読み込みます。さらに、このコンテナでは、v-for
ディレクティブを使用してデータ リスト全体を走査し、ページに表示します。
次に、loadMore
メソッドを実装する必要があります。このメソッドでは、まず現在のデータ リストの最後のデータのインデックス lastIndex
を取得し、次に非同期操作を使用してさらにデータを動的にロードし、これらのデータを現在のデータ リストに追加します。
methods: { loadMore() { const lastIndex = this.items.length - 1; const lastItem = this.items[lastIndex]; const nextIndex = lastItem.id + 1; setTimeout(() => { const newData = data .slice(nextIndex - 1, nextIndex + 9) .map(item => { return { id: item.id, content: item.content }; }); this.items = [...this.items, ...newData]; }, 1000); } }
ここでは、setTimeout
を使用して、データの非同期ロードの操作をシミュレートします。まず、現在のデータ リストの最後のデータのインデックス lastIndex
を取得し、それをさらなるデータのロードの開始点として使用します。次に、slice
メソッドを使用してデータ ソースからデータの一部を取得し、map
メソッドを使用してそれを現在のアプリケーションで使用されているデータ形式に変換します。最後に、これらの新しいデータを現在のデータ リストに追加します。
データをロードするとき、すべてのデータを一度にロードするのではなく、slice
メソッドを通じて毎回後続の 10 個のデータのみをロードすることに注意してください。この利点は、アプリケーションのパフォーマンスを向上させ、一度に大量のデータをロードすることでアプリケーションに過度の負担がかかることを回避できることです。
- 完全なコード
以下は、データ準備、テンプレート、メソッド実装を含む完全なサンプル コードです。
<template> <div class="list" v-infinite-scroll="loadMore"> <div v-for="item in items" :key="item.id" class="item">{{ item.content }}</div> </div> </template> <script> const data = [ { id: 1, content: '第1条数据' }, { id: 2, content: '第2条数据' }, { id: 3, content: '第3条数据' }, { id: 4, content: '第4条数据' }, { id: 5, content: '第5条数据' }, { id: 6, content: '第6条数据' }, { id: 7, content: '第7条数据' }, { id: 8, content: '第8条数据' }, { id: 9, content: '第9条数据' }, { id: 10, content: '第10条数据' } ]; export default { data() { return { items: data.slice(0, 10).map(item => { return { id: item.id, content: item.content }; }) }; }, methods: { loadMore() { const lastIndex = this.items.length - 1; const lastItem = this.items[lastIndex]; const nextIndex = lastItem.id + 1; setTimeout(() => { const newData = data .slice(nextIndex - 1, nextIndex + 9) .map(item => { return { id: item.id, content: item.content }; }); this.items = [...this.items, ...newData]; }, 1000); } } };
この例では、偽のデータ ソースを使用してデータ取得操作をシミュレートします。実際のアプリケーションでは、独自のデータ ソースを使用し、非同期操作を通じてさらに多くのデータを動的にロードする必要があります。このような簡単な操作で、Vue をベースにした無限スクロールリストを実装することができます。
以上がVueで無限スクロールリストを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、開発、統合、メンテナンスのベストプラクティスなど、カスタムVue.jsプラグインの作成と使用について説明します。

この記事では、vue.jsでツリーシェーキングを使用して未使用のコードを削除し、ES6モジュールを使用したセットアップ、Webパック構成、および効果的な実装のためのベストプラクティスの詳細について説明します。

Vue.jsは、主にフロントエンド開発に使用されます。 1)ユーザーインターフェイスとシングルページアプリケーションの構築に焦点を当てた軽量で柔軟なJavaScriptフレームワークです。 2)Vue.jsのコアはその応答性データシステムであり、データが変更されるとビューは自動的に更新されます。 3)コンポーネントの開発をサポートし、UIを独立した再利用可能なコンポーネントに分割できます。

VUE.JSは、コンポーネントベースのアーキテクチャ、パフォーマンスのための仮想DOM、およびリアルタイムのUI更新用のリアクティブデータバインディングでWeb開発を強化します。

この記事では、さまざまなビルドターゲットにVue CLIを構成し、環境を切り替え、生産ビルドを最適化し、デバッグ用のソースマップを確保する方法について説明します。

Vue.jsは、特にJavaScriptファンデーションを持つ開発者にとって、学ぶのは難しくありません。 1)その進歩的な設計とレスポンシブシステムは、開発プロセスを簡素化します。 2)コンポーネントベースの開発により、コード管理がより効率的になります。 3)使用例は、基本的および高度な使用法を示しています。 4)一般的なエラーは、vuedevtoolsを介してデバッグできます。 5)V-IF/V-Showや重要な属性を使用するなど、パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率を向上させることができます。

この記事では、VUEを使用してDockerを展開するために説明し、コンテナ内のVUEアプリケーションのセットアップ、最適化、管理、およびパフォーマンス監視に焦点を当てています。

この記事では、ドキュメントの改善、質問への回答、コーディング、コンテンツの作成、イベントの作成、財務サポートなど、Vue.JSコミュニティに貢献するさまざまな方法について説明します。また、オープンソースプロジェに参加することもカバーしています
