Vue の this.$store.state.xx.xx に関する簡単な説明

Vue の this.$store.state.xx.xx に関する簡単な説明

これを Vue.$store.state.xx.xx

this.$store.state.xx.xxは実際にはVueで使用される状態管理ツールVuexです。

Vuex 公式サイト: https://vuex.vuejs.org/zh/

コンポーネントの共有状態を抽出し、グローバルシングルトンモードで管理するようなものです。このモードでは、コンポーネント ツリーが巨大な「ビュー」を形成し、ツリー内のどこにあるコンポーネントでも状態を取得したり動作をトリガーしたりできます。 (プロジェクト内のどこからでもいつでも動的にアクセスして変更できます。変更後、Vue はプロジェクト全体を更新します)

ストアからデータを取得する

ここに画像の説明を挿入

ここに画像の説明を挿入

すべてのコンポーネントがストア内のデータを使用できるように、ストアをvueルートファイルに登録します。

私のプロジェクトファイル構造

ここに画像の説明を挿入

main.jsファイルにストアを登録する

ここに画像の説明を挿入

ここに画像の説明を挿入

そしてコードが書かれる

ここに画像の説明を挿入

ログイン後、フロントエンドはuserIdをキャッシュし、userIdを検索します。

このポジションは公開ページで使用されます

ここに画像の説明を挿入

ここに画像の説明を挿入

概要: main.js はギルドのボスです。ボスに報酬を与えると、ボスからいくつかの小道具が渡されるので、これを使って小道具を使うことができます。

Vue プロジェクトはいつ store.state、$store.state、this.$store.s を使用しますか?

ストアと[this.]$store

つまり、ストアをルート コンポーネントに挿入すると、すべての .vue ファイルで this.$store.xxxx を直接使用できます。

Vue 公式サイト: Vue コンポーネントで this.$store.property にアクセスするには、作成したストアを Vue インスタンスに提供する必要があります。 Vuex は、ストア オプションとして、ルート コンポーネントからすべての子コンポーネントにストアを「挿入」するメカニズムを提供します。

//メイン.js
'./store' からストアをインポートします
新しいVue({
  el: '#app',
  store, //ルートコンポーネント注入ストア
})
//インデックス.vue
取得データ() {
 戻る {
  ユーザーID: this.$store.state.user.userId、
  ......
 }
}

js ファイルで store を使用する場合は、まず '@/store' から store をインポートし、次に store.xxx を使用する必要があります。これは、this.$store は js では印刷できないためです。

// src/test.js ファイルimport store from './store/';
コンソール.log(ストア)
console.log(this) // 未定義
console.log(this.$store) // エラーを報告します

this.$store と $store

$store は Vue インスタンス (つまり Vue.prototype) にマウントされ、コンポーネントは実際には Vue インスタンスです。コンポーネント内でこれを使用して、プロトタイプのプロパティにアクセスできます。

<template> にはコンポーネントインスタンスのコンテキストがあり、{{$store.state.XXX }} を通じて直接アクセスできます。これはスクリプト内の this.$store.state.XXX に相当します。

$store はデータで返される変数と考えてください。これを以下のスクリプトで使用する場合は追加する必要がありますが、上記のテンプレートでは必要ありません。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue コンポーネントで Vuex 状態を取得する Vuex メソッド
  • Vue で this.$store または $route を使用するときに発生するエラーの解決方法
  • vuex のデータ転送の 2 つの方法とその解決策について詳しく説明します。$store undefined
  • Vuex の状態オブジェクトを使用する 5 つの方法
  • コンポーネント内のvuexの状態を監視する方法の詳細な説明

<<:  MySQLカスタム関数の原理と使用法の分析

>>:  CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

推薦する

Linux アカウントのパスワードを変更する詳細な例

個人アカウントのパスワードを変更する一般ユーザーが個人アカウントのパスワードを変更する場合は、他のコ...

Windows 版 MySQL のインストール、起動、基本設定に関する詳細なグラフィック チュートリアル

ダウンロード:ステップ 1: ウェブサイトを開きます (ダウンロードするには公式ウェブサイトにアクセ...

デザインスキルを向上させる良い方法

いわゆる才能(左脳と右脳)つまり、芸術的な才能があるかどうかは、人間の左脳と右脳の分業によって主に決...

Kylin V10 サーバーで Storm をコンパイルしてインストールする詳細なプロセス

1 はじめにApache Storm は、Hadoop と同様に、大量のデータを処理するために使用で...

Vueはページを更新するために3つの方法を使用する

プロジェクトを作成しているときに、ユーザーがアクションを実行し、特定の状態を変更し、ページを更新して...

VUEはトークンログイン認証を実装

この記事では、トークンログイン認証を実装するためのVUEの具体的なコードを例として紹介します。具体的...

MySQL 5.7.17 インストール グラフィック チュートリアル (Windows)

最近データベースを学び始めたのですが、とても興味深いコースだと感じていますが、含まれる内容の多くは私...

Tomcat でのコネクタ構成

JBoss は Tomcat を Web コンテナとして使用するため、JBoss の Web コンテ...

グループフィールドを 1 行に書き込むための mysql group_concat メソッドの例

この記事では、MySQL group_concat を使用してグループ化されたフィールドを 1 つの...

SQLのさまざまな結合サマリーの詳細な説明

SQL 左結合、右結合、内部結合、自然結合 さまざまな結合の概要SQL には、左結合、右結合、内部結...

CSS3 で翻訳効果 (transfrom: translate) を実装する例

移動を実現するためにtranslateパラメータを使用しますtranslateX: X 軸に沿って移...

MySQL 8.0.20 のインストールと設定方法のグラフィックチュートリアル

MySQLのダウンロードとインストール(バージョン8.0.20)のチュートリアルは参考までに、具体的...

Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

序文この記事は主にubantu 16.4 Hadoop完全分散構築に関する関連コンテンツを紹介し、皆...

MySQL でテーブルを作成するときの NULL と NOT NULL の使用方法の詳細な説明

MySQL の仕様によっては、テーブル作成仕様にすべてのフィールドが空であってはならないという要件を...

ディレクトリスクロール効果を実現するネイティブJS

これはネイティブ JS で実装されたテキスト スクロール効果です。この効果は通常、ニュース、ダイナミ...