v-on:scroll を使用して Vue でスクロール イベントをリッスンする方法
Vue は現在最も人気のあるフロントエンド フレームワークの 1 つであり、一般的なイベント監視に加えて、Vue はスクロール イベントを監視するための命令 (v-on:scroll) も提供します。この記事では、v-on:scroll を使用して Vue でスクロール イベントをリッスンする方法を詳しく紹介します。
1. v-on:scroll ディレクティブの基本的な使用法
v-on:scroll ディレクティブは、DOM 要素のスクロール イベントを監視するために使用されます。その基本的な使用法は次のとおりです:
<div v-on:scroll="scrollHandler"></div>
ここで、scrollHandler はカスタム スクロール イベント処理関数です。
2. v-on:scroll を使用して、ウィンドウ オブジェクトのスクロール イベントを監視します。
ブラウザ ウィンドウのスクロール イベントを監視したい場合は、v-on:scroll をバインドする必要があります。
<template> <div> <p>当前滚动位置:{{ scrollTop }}</p> <div style="height: 2000px;" v-on:scroll="windowScroll"></div> </div> </template> <script> export default { data() { return { scrollTop: 0, }; }, methods: { windowScroll() { this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop; }, }, }; </script>
上記のコードでは、変数scrollTopを使用して現在のスクロール位置を保存し、v-on:scroll命令を次のようにバインドします。スクロールできるように高さが固定された div 要素。スクロール イベント処理関数 windowScroll では、document.documentElement.scrollTop || document.body.scrollTop を通じて現在のスクロール位置を取得し、scrollTop 変数に割り当てます。このようにして、ウィンドウがスクロールされるたびに、windowScroll メソッドがトリガーされ、現在のスクロール位置が更新されます。
3. v-on:scroll を使用してコンポーネントのスクロール イベントをリッスンする
Vue コンポーネントでスクロール イベントをリッスンしたい場合は、v-on:scroll をバインドできます。 :scroll ディレクティブをコンポーネントのルートに追加し、対応するスクロール処理関数をコンポーネントに追加します。
<template> <div style="height: 200px; overflow-y: scroll;" v-on:scroll="scrollHandler"> <ul> <li v-for="item in list">{{ item }}</li> </ul> </div> </template> <script> export default { data() { return { list: ["item1", "item2", "item3", "item4", "item5"], }; }, methods: { scrollHandler(event) { console.log(event.target.scrollTop); }, }, }; </script>
上記のコードでは、高さが固定されスクロール可能な領域を持つ div 要素を使用し、スクロール イベントをリッスンできるように v-on:scroll ディレクティブを要素にバインドします。スクロールイベント処理関数scrollHandlerでは、event.target.scrollTopを通じて現在のスクロール位置を取得できます。
4. デバウンス関数を使用してスクロール イベント処理を最適化する
実際の開発では、ページ コンテンツの更新や追加の読み込みなど、スクロール イベント処理関数で複雑な操作を実行する必要がある場合があります。データなどのこれらの操作は時間がかかり、スクロールするたびに直接実行すると、ページの表示が遅れる可能性があります。この状況を回避するには、デバウンス関数を使用してスクロール イベント処理関数を最適化します。
デバウンス関数は、一般的に使用される関数調整方法であり、関数を一定期間内に 1 回だけ実行できるようにすることで、ページ上の計算量を削減します。これを使用してスクロール イベントを最適化できます。
<template> <div style="height: 200px; overflow-y: scroll;" v-on:scroll="scrollHandlerWithDebounce"> <ul> <li v-for="item in list">{{ item }}</li> </ul> </div> </template> <script> import { debounce } from "lodash"; export default { data() { return { list: ["item1", "item2", "item3", "item4", "item5"], }; }, methods: { scrollHandler() { console.log(event.target.scrollTop); }, scrollHandlerWithDebounce: debounce(function (event) { this.scrollHandler(event); }, 300), }, }; </script>
上記のコードでは、lodash ライブラリが提供するデバウンス関数を使用し、スクロール イベント処理関数scrollHandlerをscrollHandlerWithDebounceとしてラップし、この関数内でscrollHandlerを呼び出し、手ぶれ補正時間を300msに設定しています。スクロールイベント 処理関数は 300ms 以内に最大 1 回実行されます。
概要
v-on:scroll ディレクティブを使用すると、DOM 要素のスクロール イベントを簡単に監視でき、同時に debounce 関数を使用すると、スクロール イベント処理の過剰な呼び出しを効果的に回避できます。機能し、ページのパフォーマンスを最適化します。同時に、v-on:scroll 命令をウィンドウ オブジェクトまたはコンポーネントのルート要素にバインドして、さまざまなシナリオでスクロール イベントの監視を実装することもできます。
以上がv-on:scroll を使用して 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でJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

Vue.jsには配列とオブジェクトを通過するには3つの一般的な方法があります。V-Forディレクティブは、各要素をトラバースしてテンプレートをレンダリングするために使用されます。 V-BindディレクティブをV-Forで使用して、各要素の属性値を動的に設定できます。 .mapメソッドは、配列要素を新しい配列に変換できます。
