プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

Vue.jsでVuexを使用する

この記事は2020年03月31日に投稿しました。

f:id:paveway:20190914064630j:plain

目次

  1. はじめに
  2. Vue.jsでVuexを使用する
  3. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているVue.jsVuexを使用する方法についてです。

目次へ

2. Vue.jsでVuexを使用する

Vue.jsVuexを使用するには、以下の様な実装にします。
この実装例は、ほぼVuexの公式リファレンスのままです。
今の段階で理解した内容を、実装例の中にコメントとして記述してあります。
(そのため間違いがあるかもしれません...)

実装例

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>Sample</title>
</head>
<body>
  <!-- 'app'のタグはVue.jsによって操作されます。 -->
  <div id="app">
    <p>{{ count }}</p>
    <p>
      <button @click="increment">+</button>
      <button @click="decrement">-</button>
    </p>
  </div>

  <!-- Vue.jsを使用します。 -->
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="vue.js"></script>
  <!-- Vuexを使用します。 -->
  <script src="Vuex.js"></script>
  <!-- VuexはPromiseを使用するため、未対応のブラウザ用にes6-promise.auto.jsを使用します。 -->
  <script src="es6-promise.auto.js"></script>

  <!-- Vue.jsで操作する内容です。 -->
  <script>
  Vue.config.productionTip = false

  // Vuexのストアを定義します。
  const store = new Vuex.Store({
    state: {
      // カウント値を保持する変数を定義します。
      count: 0
    },
    mutations: {
      // カウント値を+1します。
      increment: state => state.count++,

      // カウント値を-1します。
      decrement: state => state.count--
    }
  })

  var app = new Vue({
    // divタグの'app'内を操作対象とします。
    el: '#app',
    computed: {
      count() {
        // Vuexのcountの値を返却します。
        return store.state.count
      }
    },
    methods: {
      increment() {
        // Vuexで定義した"increment"を呼び出します。
        store.commit('increment')
      },
      decrement() {
        // Vuexで定義した"decrement"を呼び出します。
        store.commit('decrement')
      }
    }
  })
  </script>
</body>
</html>

目次へ

3. おわりに

VuexVue.jsで状態管理を行うためのライブラリのようです。
今のところ何のために必要かあまり理解していませんが、学習しながら理解していきたいと思います。

紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。

目次へ


私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。

また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。

EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688

目次へ