Vuex 改善学習の共有

小云云
リリース: 2018-01-13 13:13:44
オリジナル
1436 人が閲覧しました

この記事では主に Vuex の改善学習の章を紹介します。編集者はそれを参考として共有します。編集者をフォローして、皆さんのお役に立てれば幸いです。

前回の記事では、いくつかの簡単なアクションでstore.js内のデータオブジェクトを変更する方法について説明しましたが、実際の作業ではこれではまったく作業のニーズを満たすことができないため、この記事ではその方法について説明します。いくつかの簡単なアクションの判断。

自作のvuexロゴ

1. たとえば、今、count

アクションが必要です

store.jsのアクション内


// 定义 actions ,要执行的动作,如流程的判断、异步请求
const actions ={
  increment({commit,state}){
    commit('increment') 
  },
  decrement({ commit, state }) {
    // **通过动作改变的数据,在此处来做判断是否提交**
    if (state.count > 5) {
      commit('decrement')
    }
  }
}
ログイン後にコピー

プロジェクトを実行します

2.アクションを渡す非同期リクエストをシミュレートします

1. まずApp.vueでイベントを定義します


<template>
 <p id="app">
  <button @click="increment">增加</button>
  <button @click="decrement">减少</button>
  //异步请求事件
  <button @click="incrementAsync">异步增加</button>
  <h1>{{count}}</h1>
 </p>
</template>

<script>
import {mapGetters,mapActions} from &#39;vuex&#39;
export default {
 name: &#39;app&#39;,
 computed:mapGetters([
  &#39;count&#39;
 ]),
 methods:mapActions([
  &#39;increment&#39;,
  &#39;decrement&#39;,
  &#39;incrementAsync&#39;
 ])
}
</script>
ログイン後にコピー

2. store.jsのアクションに非同期Promiseイベントを追加します


プロジェクトを実行します


3. データのステータスを取得します

データの奇数と偶数を知る必要がある場合は、ゲッターで判断する必要があります。

ゲッターはステータスを決定するために処理されたデータを取得できます


store.jsのゲッターに奇数と偶数を決定するメソッドを追加


// 定义 actions ,要执行的动作,如流程的判断、异步请求
const actions ={
  increment({commit,state}){
    commit(&#39;increment&#39;) 
  },
  decrement({ commit, state }) {
    // **通过动作改变的数据,在此处来做判断是否提交**
    if (state.count > 5) {
      commit(&#39;decrement&#39;)
    }
  },
  incrementAsync({commit,state}){
    // 模拟异步操作
    var a = new Promise((resolve,reject) => {
      setTimeout(() => {
        resolve();
      }, 3000);
    })
    // 3 秒之后提交一次 increment ,也就是执行一次 increment 
    a.then(() => {
      commit(&#39;increment&#39;)
    }).catch(() => {
      console.log(&#39;异步操作失败&#39;);
    })
  }
}
ログイン後にコピー

App.vueに


var getters={
  count(state){
    return state.count
  },
  EvenOrOdd(state){
    return state.count%2==0 ? &#39;偶数&#39; : &#39;奇数&#39;
  }
}
ログイン後にコピー
を追加します

奇数と偶数を判断します。gif


何かわからない場合は、メッセージを残して連絡するか、APIを直接参照してください

関連推奨事項:


Vue、Vuex、Vueに基づいてアニメーション切り替え機能を実装-router

Vuexのファミリーバケットのステータス管理について

vuexの概念の理解と実践的なチュートリアル


以上がVuex 改善学習の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート