Vueのシンプルな状態管理ストアモードを理解する方法

Vueのシンプルな状態管理ストアモードを理解する方法

概要

ストア状態管理モードの実装の考え方は非常にシンプルで、共有データを格納するための状態属性を持つストア オブジェクトと、これらの共有データを操作するメソッドを定義することです。コンポーネントでは、store.state 共有データがデータの一部または全部として使用されます。store.state オブジェクト内の共有データを変更する場合は、ストアが提供するインターフェイスを呼び出して共有データを変更する必要があります。

以下は、ストア状態管理モードを紹介する簡単な ToDo リスト デモです。

1. store.jsを定義する

//ストア.js
エクスポートconstストア = {
    州: {
        すべて:
            {text: '中国語の宿題を書く', done: false},
            {text: '数学のテストを行う'、完了: false}
        ]
    },
    追加Todo(str){
        const obj = {テキスト: str、完了: false}
        this.state.todos.push(obj)
    },
    setDone(インデックス){
        this.state.todos[index].done = true
    }
}

2. store.js を使用するコンポーネント

//A.vue
<テンプレート>
    <div class="A">
        私はコンポーネントAです<ul>
           <li v-for="(todo,index) 内の todos" 
           :key="index" :class="todo.done?'done':''" @click="setDone(index)">
           {{todo.text}}
           </li>
       </ul>
    </div>
</テンプレート>

<スクリプト>
'../store/store.js' から {store} をインポートします。
エクスポートデフォルト{
    名前: 'A'、
    データ(){
        ストアの状態を返す
    },
    メソッド: {
        setDone(インデックス){
            ストア.setDone(インデックス)
        }
    }
}
</スクリプト>

<スタイルスコープ>
.A{
    背景: 赤;
    色: 白;
    パディング: 20px;
}
.A li.done{
    背景: 緑;
}
</スタイル>
//B.ビュー
<テンプレート>
    <div class="B">
        <div>
            私はコンポーネント B です。下の入力ボックスにタスクを入力し、コンポーネント A にタスクを追加します</div>
        <input type="text" v-model="text">
        <button @click="addTodo">ToDo を追加</button>
    </div>
</テンプレート>

<スクリプト>
'../store/store.js' から {store} をインポートします。
エクスポートデフォルト{
    名前: 'B'、
    データ(){
        戻る {
            文章: ''
        }
    },
    方法:{
        追加ToDo(){
            if(this.text){
                store.addTodo(このテキスト)
            }
        }
    }
}
</スクリプト>

<スタイルスコープ>
.B{
    背景: 黄色;
    パディング: 20px;
}
</スタイル>
//アプリ.vue
<テンプレート>
  <div id="アプリ">
    <あ />
    <B />
  </div>
</テンプレート>

<スクリプト>

'./components/A.vue' から A をインポートします。
'./components/B.vue' から B をインポートします。

エクスポートデフォルト{
  名前: 'アプリ'、
  コンポーネント:
    あ、
    B
  }
}
</スクリプト>

3. 成果を達成する

コンポーネントAに表示されているデータがコンポーネントBで追加・変更され、データ共有によるデータ通信が行われる様子がわかります。このようにシンプルストアモードが使用されています。

以上が、Vue シンプルステート管理のストアモードを理解する方法の詳細です。Vue シンプルステート管理のストアモードの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vue3 で状態管理を実装するために provide を使用する方法
  • Vue フロントエンド開発補助機能状態管理詳細例
  • vuexプロジェクトにおけるログインステータス管理の実践プロセス
  • Vue3.0 で Vuex 状態管理を開始する方法をすぐに習得します
  • vuex での mapState の考え方の応用
  • Vueプロジェクトでvuexを使用する方法
  • vuex名前空間の使用
  • Vue の状態管理: Vuex の代わりに Pinia を使用する

<<:  MySQL テーブルを削除する際の I/O エラーの原因分析と解決方法

>>:  Ubuntu 基本チュートリアル: apt-get コマンド

推薦する

EChartsマウスイベント処理方法の詳細な説明

イベントとは、クリック、マウスオーバー、ページの読み込み後にトリガーされる読み込みイベントなど、ユー...

Vue ElementUI フォームのフォーム検証

フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...

Linux でテキストから改行文字を削除する方法

復帰文字 ( Ctrl+M ) に不安を感じても心配しないでください。それらを排除する簡単な方法がい...

Vue.js フロントエンドフレームワークにおけるイベント処理の概要

1. v-onイベント監視DOM イベントをリッスンするには、v-on ディレクティブを使用します。...

HTML+CSS3+JSで実装されたドロップダウンメニュー

成果を達成する html <div class="コンテナ"> &l...

UbuntuはCUDAの複数のバージョンをインストールし、いつでも切り替えることができます

CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...

HTML におけるスクリプトの配置に関する簡単な説明

以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでい...

Centos7 で yum を使用して Ceph 分散ストレージをインストールするチュートリアル

目次序文yumソース、epelソースを設定するCephソースの設定Cephとそのコンポーネントをイン...

MySQL カーソル関数と使用法

目次意味カーソルの役割カーソルの使用カーソルの宣言カーソルを開くカーソルデータのトラバースカーソルを...

Linux 上の Nginx に複数のバージョンの PHP をインストールする

サーバーの LNPM 環境をインストールして構成する場合、複数のバージョンの PHP の共存を考慮す...

mysql-joinsの具体的な使用方法

目次結合構文: 1. InnerJOIN: (内部結合) 2. LeftJOIN: (左結合) 3....

JavaScriptの浅いコピーと深いコピーについての簡単な説明

目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...

Vue シンプル登録ページ + 確認コード送信機能の実装例

目次1. エフェクト表示2. 検証コードとメールプッシュ管理の強化(後述のブログを参照) 3. 一般...

innodb_autoinc_lock_mode の表現と値の選択方法についての簡単な説明

前提条件: Percona 5.6 バージョン、トランザクション分離レベルは RR mysql>...

HTML での select optgroup タグの使用の概要

時々、選択した内容をグループ化する必要があります。以前はプログラム制御を使用していました。今日、se...