概要ストア状態管理モードの実装の考え方は非常にシンプルで、共有データを格納するための状態属性を持つストア オブジェクトと、これらの共有データを操作するメソッドを定義することです。コンポーネントでは、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. まず、Springbootを使用して簡単なDubboテストプログラムを構築し、関連する依存関係...
アプリケーション ソフトウェアには通常、次のようなビジネス要件があります。新しいバージョンの APP...
[LeetCode] 175.2つのテーブルを結合する表: 人物+-------------+--...
今日、MySQL の新しいバージョン (8.0.21) をインストールしましたが、ノード フレームワ...
港Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するための...
概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...
前面に書かれたLinux を使用する際にソフトウェアをインストールする必要がある場合があります。もち...
MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...
目次1. レンダリング2. データをバインドし、ツリーテーブルにラベルを追加する3. すべてのコード...
一時テーブルとメモリテーブルメモリ テーブルとは、メモリ エンジンを使用するテーブルを指します。テー...
Linux ホスト名変更コマンド1. ホスト名を一時的に変更するだけの場合は、hostname コマ...
コードをコピーコードは次のとおりです。リンクフォントサイズ: 12px;色: #000000;テキス...
目次1. 前提条件1.1 サポートされているプラットフォーム1.2 jdk および hadoop...
ドメイン名に続くパスがデフォルトの Web ディレクトリではなく、ローカル ディスク上の他のディレク...
問題の説明: MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に...