Vueでグローバルローディングエフェクトを実装する方法
フロントエンド開発では、Web ページとの対話中にデータがロードされるのをユーザーが待つ必要があるというシナリオがよくあります。このとき、通常、ユーザーに待つよう促すためにロード効果が表示されます。 。 Vue フレームワークでは、グローバルローディングエフェクトの実装は難しくありませんので、その実装方法を紹介します。
ステップ 1: Vue プラグインの作成
すべての Vue インスタンスで参照できる loading
という名前の Vue プラグインを作成できます。プラグインでは、次の 2 つのメソッドを実装する必要があります:
-
show()
: 読み込み効果を表示するために使用されます -
hide ()
: ローディング効果を非表示にするために使用されます。
次は、loading
プラグインのコードです:
const Loading = { show() { // 显示loading效果的代码 }, hide() { // 隐藏loading效果的代码 } } export default { install(Vue) { Vue.prototype.$loading = Loading } }
上記のコード内では、 The object of Loading
という名前のファイルを定義します。このファイルには、読み込み効果を表示および非表示にするメソッドが含まれています。 install()
メソッドは、loading
オブジェクトを Vue インスタンスにインストールするために使用され、オブジェクトがすべての Vue インスタンスで参照できるようにします。
ステップ 2: 読み込みコンポーネントを実装する
読み込み効果を実現するには、画面全体をカバーする読み込みレイヤーを Vue コンポーネントに追加する必要があります。これは CSS を通じて実現できます。具体的には、Vue コンポーネント内のローディング レイヤーの DOM 要素を動的に追加および削除して、ローディング効果を表示または非表示にすることができます。以下は、単純な読み込みコンポーネントです。
<template> <div v-if="visible" class="loading-mask"> <div class="loading-spinner"></div> </div> </template> <script> export default { data() { return { visible: false } }, methods: { show() { this.visible = true }, hide() { this.visible = false } } } </script> <style> .loading-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 999; display: flex; align-items: center; justify-content: center; } .loading-spinner { border: 4px solid #f3f3f3; border-radius: 50%; border-top: 4px solid #3498db; width: 60px; height: 60px; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } </style>
上記のコードでは、ページ全体をカバーし、半透明の黒い背景を設定する loading-mask
という名前の div レイヤーを定義します。 loading-mask
では、loading-spinner
という名前の別の div レイヤーを追加しました。これは、回転読み込みアイコンを表示するために使用されます。最後に、Vue コンポーネントの data
で visible
変数を定義し、読み込みレイヤーを表示する必要があるかどうかを決定しました。
ステップ 3: コンポーネントで読み込みを使用する
基本的な読み込みコンポーネントと Vue プラグインを実装したので、それらを Vue コンポーネントで使用する必要があります。
まず、作成したばかりの Vue プラグインを Vue コンポーネントに導入し、読み込みコンポーネントを現在のコンポーネントに追加します。
<template> <div> <h1>这是一个Vue组件</h1> <loading ref="loading"></loading> </div> </template> <script> import LoadingPlugin from '@/plugins/loading' import Loading from '@/components/Loading' export default { name: 'HelloWorld', components: { Loading }, mounted() { this.$loading = this.$refs.loading }, plugins: [ LoadingPlugin ], methods: { fetchData() { this.$loading.show() // 显示loading效果 // 发送请求 // ... this.$loading.hide() // 隐藏loading效果 } } } </script>
上記のコードでは、まず Vue プラグインを導入します。 LoadingPlugin
の前に作成され、components
属性を使用して読み込みコンポーネントを現在のコンポーネントに追加します。 mounted()
メソッドでは、読み込みコンポーネントのインスタンスを $loading
プロパティに割り当てます。これにより、現在のコンポーネントの show メソッドと Hide メソッドを呼び出して、表示および非表示を行うことができます。ローディングエフェクトを非表示にします。
最後に、fetchData() メソッドで、this.$loading.show()
を呼び出して読み込み効果を表示できます。データが読み込まれた後、this を呼び出します。 $loading.hide()
メソッドを使用して非表示にします。このようにして、グローバルローディング効果を達成することに成功しました。
概要
この記事では、Vue フレームワークでグローバル読み込みエフェクトを実装する方法を紹介しました。 loading
プラグインを作成し、Vue インスタンスにインストールして、すべての Vue コンポーネントで呼び出せるようにしました。また、DOM 要素を動的に追加および削除して、読み込み効果を表示または非表示にする読み込みコンポーネントも実装しました。最後に、Vue コンポーネントの $loading オブジェクトの show メソッドと Hide メソッドを呼び出して、読み込み効果を表示または非表示にします。この実装により、優れたユーザー エクスペリエンスを実現し、ユーザーの待ち時間を短縮し、アプリケーションのパフォーマンスを向上させることができます。
以上が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の監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

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

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.jsでは、Lazy Loadingを使用すると、コンポーネントまたはリソースを必要に応じて動的にロードすることができ、初期ページの読み込み時間を短縮し、パフォーマンスを改善できます。特定の実装方法には、&lt; Keep-Alive&gt;および&lt;コンポーネントは&gt;コンポーネント。怠zyなロードは、FOUC(スプラッシュ画面)の問題を引き起こす可能性があり、不必要なパフォーマンスのオーバーヘッドを避けるために怠zyなロードが必要なコンポーネントにのみ使用する必要があることに注意してください。

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