概要ストア状態管理モードの実装の考え方は非常にシンプルで、共有データを格納するための状態属性を持つストア オブジェクトと、これらの共有データを操作するメソッドを定義することです。コンポーネントでは、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 コマンド
CocosCreator バージョン 2.3.4ドラゴンボーンアニメーションキールアニメーションを ...
この記事では、例を使用して、MySQL のさまざまな一般的な結合テーブルクエリについて説明します。ご...
目次1. v-bindの主要ソースコードの分析1. v-bind属性はどこに均一に保存されるか: a...
序文プロジェクト開発では、アイコンを使用する方法はたくさんあります。iconfont で適切なアイコ...
コードはさらに合理化できますが、時間の制約があるため、まずはここで投稿して、自分で最適化してメニュー...
目次メモリプールの概要1. nginxデータ構造2. nginxはOSからスペースngx_creat...
序文以前、MySQL 5.6 をインストールしました。3 か月後、開発者から MySQL で JSO...
本文は以下から始まります。 123WORDPRESS.COM ダウンロード:純粋な CSS3 で超リ...
概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...
(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...
目次1. CSS のみを使用して作成したアニメーションのクリスマスツリー2. CSS のみを使用して...
フローティング広告は、ウェブサイト上で非常に一般的な広告形式です。フローティング広告は、ユーザーの閲...
公式ウェブサイトアドレス: https://www.mysql.com/インストールの提案: インス...
1. ルートパスワードの設定と変更mysql が起動しているかどうかを確認します。起動していない場合...
この記事のシナリオと組み合わせて、Nginx と Java 環境 (SpringBoot プロジェク...