概要ストア状態管理モードの実装の考え方は非常にシンプルで、共有データを格納するための状態属性を持つストア オブジェクトと、これらの共有データを操作するメソッドを定義することです。コンポーネントでは、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 コマンド
JavaScriptで非同期実行の結果を同期的に取得するには、 for ループ内でawaitを使用...
成果を達成する 実装コードhtml <div class="wrapper"...
序文:非常に遅いクエリとリクエストのタイムアウトのアラートを受け取りました。メトリックを通じて My...
年末なので仕事も少なくなっています。私が何もせずにいるのを見ると、上司はきっと不快に思うでしょう。そ...
目次1. ファイル拡張子を取得する2. コンテンツをクリップボードにコピーする3. スリープ時間は何...
1. HTML の要素とタグ<br />要素は、1 つのタグまたは 1 組のタグによって...
注意 ノーブレークスペース = ノーブレークスペース、 iexcl ¡ &...
1. 依存関係をダウンロードするnpm インストール @antv/データセットnpm インストール ...
目次1. オブジェクトの変更検出2. オブジェクトに関する質問配列変更検出3.1 背景3.2 実装I...
1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...
シナリオ最近の要件は、モバイル デバイス用の h5 ページです。これには、選択可能なカードの行が必要...
前面に書かれたNginx は単なるリバース プロキシおよび負荷分散サーバーではなく、電流制限、キャッ...
1. Yumのインストール yum でサブバージョンをインストール 2. 構成1. 倉庫を作る/ho...
以下はcentos7での設定方法ですsystemc ソース パッケージをダウンロード: System...
ファイル操作に関連するシステムコール作成するint creat(const char *ファイル名,...