質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

0回答

1057閲覧

TypeScriptにおけるVuexのmutaions やactionsの書き方について

takochan1192

総合スコア100

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2020/11/07 14:47

Vuexを使用して変数を増やしたり減ったりさせるような簡単なアプリを作成し、
mutaionsやactionsの使い方について理解を深めたいと思いコードを作成してみました。
しかし、現状下記のようなエラーが出ており、期待した動作を得ることができませんでした。

error

1unknown local mutation type: increment, global type: count/increment

Nuxt.jsを使用しており、まずpagesディレクトリに下記のようなコードを作成しました。

Vue

1<template> 2 <div> 3 <h2>Counter</h2> 4 <p>count:{{count}}</p> 5 <v-btn color="primary" @click="increment">+</v-btn> 6 <v-btn color="error" @click="decrement">-</v-btn> 7 </div> 8</template> 9<script lang="ts"> 10import { Component, namespace, Vue } from 'nuxt-property-decorator' 11const Count = namespace('count') 12 13@Component({}) 14export default class extends Vue{ 15 @Count.State count:any 16 @Count.Mutation increment!:Function 17 @Count.Action decrement!:Function 18} 19</script>

次にstoreディレクトリに下記のようなコードを作成しました。

TypeScript

1interface State { 2 count:number 3} 4const state = () => ({ 5 count:0 6}) 7const getters = { 8 count:(state:State) => { 9 return state.count 10 } 11} 12const mutaions = { 13 setCount:(state:State,count:number)=>{ 14 state.count = count; 15 } 16} 17const actions = { 18 increment:({commit}:any,state:{count:number})=>{ 19 commit('setCount',state.count +1) 20 }, 21 decrement:({commit}:any,state:{count:number})=>{ 22 commit('setCount',state.count-1) 23 } 24} 25export default { state, getters, mutaions, actions}

どなたかご教示いただけませんでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DaikiOjima

2020/11/20 15:42

> 次にstoreディレクトリに下記のようなコードを作成しました。 こちらのファイル名と、もしこのファイルが配置されているstoreディレクトリに別のファイルが有ればそちらのファイル名と内容を追記いただけますでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問