vuex での Getter の使用法の詳細な説明

vuex での Getter の使用法の詳細な説明

序文

Vuex を使用すると、ストア内に「ゲッター」を定義できます (これはストアの計算されたプロパティと考えることができます)。計算プロパティと同様に、ゲッターの戻り値は依存関係に基づいてキャッシュされ、依存関係の値が変更された場合にのみ再計算されます。

公式サイトを例に挙げてみましょう。公式サイトのコードは以下のとおりです。

コンポーネント内でアクセスするには、次のコードを使用します。

this.$store.getters.doneTodosCount

1. 説明

ゲッターのアクセサー関数は、デフォルトで 2 つのパラメーター (state、getters) を渡します。最初のパラメーター state はデータにアクセスするために使用でき、getters パラメーターはアクセサー内の他のアクセサー関数にアクセスするために使用できます。ほとんどの場合、最初のパラメータのみが必要です。アクセサ関数を定義するときは、上記の例のように最初のパラメータのみを記述します。これらのアクセサー プロパティにアクセスする場合、関数呼び出しではなく、コンポーネント内の計算プロパティと同じように呼び出されます。

これは、2 番目のパラメータ ゲッターを使用する例です。計算プロパティを呼び出すのと同じように、コンポーネント内で次のコードを直接使用して呼び出します。 2 番目のパラメータはデフォルトで渡されます。

this.$store.getters.doneTodos

2. ゲッターは関数を返す

ゲッターにパラメータを渡すには、ゲッターに関数を返させます。したがって、その主な機能はパラメータを渡すことです。

コンポーネント内で this.$store.getters.getTodoById に直接アクセスすると、関数が返されます。次に、関数を呼び出してパラメータを関数に渡すと、関数の結果が取得されます。

3. mapGettersオブジェクトを使用して展開する

コンポーネントの計算プロパティでは、次のメソッドを直接使用してゲッタープロパティを簡単に参照し、通常の計算プロパティを呼び出すのと同じように使用できます。

ゲッター プロパティに別の名前を付ける場合は、オブジェクト形式を使用します。

これらの知識ポイントは、ドキュメントを読むだけでは理解しにくいかもしれませんが、手動で実践することで簡単に消化し理解することができます。

Vuex ゲッターパラメータ渡し方法

ゲッター: {
    getProductByid: (状態) => (ID) =>
    {
        state.productList.find(item => item.id === id) を返します。
    }
}

名前空間を使用して呼び出す場合:

this.$store.getters['yournamespace/getProductByid'](id);

名前空間なしでの呼び出し:

this.$store.getters.getProductByid(id);

要約する

これで、vuex での Getter の使用に関するこの記事は終了です。Vuex Getter の使用に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vuex でのゲッター計算とフィルタリング操作の詳細な説明
  • vuex の補助関数 mapGetters の基本的な使い方の詳細な説明
  • Vuexのゲッター属性の具体的な使い方について話す
  • vuex での mapState、mapGetters、mapActions、mapMutations の使用
  • Vuex でゲッターとアクションを使用するための追加手順

<<:  Debian システムでの自動パッケージ更新の問題を解決する方法

>>:  MySQLは「order by」がどのように機能するかを簡単に理解します

推薦する

mysqlのデータディレクトリ内のファイルを直接コピーしてデータを復元する実装

mysqlはデータディレクトリ内のファイルをコピーしてデータを復元します背景: MySQL がクラッ...

VueのTodoListケースの詳しい説明

<テンプレート> <div id="ルート"> <...

MySQL のストアド プロシージャを使用して 100 万件のレコードをすばやく生成する方法

序文テストを行う際、大量のデータによる負荷に耐えるプロジェクトの能力をテストするために、通常はテスト...

MySQL 結合テーブルクエリの基本操作 左結合のよくある落とし穴

概要中小規模のプロジェクトでは、特にレポートを作成するときに、結合テーブル クエリが非常に一般的な操...

Vue3 (III) ウェブサイトホームページレイアウト開発

目次1. はじめに2. 実際の事例1. App.vueを変更する2. レイアウトを調整する3. ジャ...

カルーセル例の JavaScript 実装

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

Ubuntu 20.04 CUDA & cuDNN のインストール方法 (グラフィカル チュートリアル)

CUDA インストール cuda をダウンロードサポートされているcudaバージョンを表示するには...

ウェブページヘッダーの最適化の提案

ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...

ウェブフロントエンド開発者が知っておくべき 9 つの実用的な CSS プロパティ

1. 角を丸くする今日の Web デザインは、常に最新の開発テクノロジーに追随しており、HTML5 ...

サーバー間のファイル バックアップ ソリューション、サーバー ファイルを別のサーバーに自動的にバックアップする方法は?

多くの組織ではファイル サーバーをバックアップする必要があり、あるサーバーから別のファイル サーバー...

Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明

1. mysql をインストールします。次のコマンドを実行して、YUM ソースを更新します。 rpm...

JS の new 関数の詳細な説明

目次1. 例2. 兵士100人を作成する3. 質問4. 改善点5. エレガント? 6. JSの父から...

Linux環境変数ファイルの簡単な紹介

Linux システムでは、環境変数は適用範囲に応じて、システムレベルの環境変数とユーザーレベルの環境...

Windows Server のインストール後にワイヤレスとオーディオが機能しない問題を解決する

1. ワイヤレスPowerShell を実行し、次のコマンドを入力します。 install-wind...

jsはaudioContextを通じて3Dサウンド効果を実現します

この記事では、audioContextを介して3Dサウンド効果を実現するためのjsの具体的なコードを...