概要ストア状態管理モードの実装の考え方は非常にシンプルで、共有データを格納するための状態属性を持つストア オブジェクトと、これらの共有データを操作するメソッドを定義することです。コンポーネントでは、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 の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: MySQL テーブルを削除する際の I/O エラーの原因分析と解決方法
>>: Ubuntu 基本チュートリアル: apt-get コマンド
イベントとは、クリック、マウスオーバー、ページの読み込み後にトリガーされる読み込みイベントなど、ユー...
フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...
復帰文字 ( Ctrl+M ) に不安を感じても心配しないでください。それらを排除する簡単な方法がい...
1. v-onイベント監視DOM イベントをリッスンするには、v-on ディレクティブを使用します。...
成果を達成する html <div class="コンテナ"> &l...
CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...
以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでい...
目次序文yumソース、epelソースを設定するCephソースの設定Cephとそのコンポーネントをイン...
目次意味カーソルの役割カーソルの使用カーソルの宣言カーソルを開くカーソルデータのトラバースカーソルを...
サーバーの LNPM 環境をインストールして構成する場合、複数のバージョンの PHP の共存を考慮す...
目次結合構文: 1. InnerJOIN: (内部結合) 2. LeftJOIN: (左結合) 3....
目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...
目次1. エフェクト表示2. 検証コードとメールプッシュ管理の強化(後述のブログを参照) 3. 一般...
前提条件: Percona 5.6 バージョン、トランザクション分離レベルは RR mysql>...
時々、選択した内容をグループ化する必要があります。以前はプログラム制御を使用していました。今日、se...