Nuxt/Vuexのcommitボタンが反応しない
NuxtのVuexでmutationsのハンドル関数increment
を
ボタンから実行しようとしましたが反応しません。
該当のソースコード
javascript
1// store/index.js 2import Vuex from 'vuex' 3export const state = () => ({ 4 message: 'State message', 5 count: 1 6}) 7export const mutations = { 8 increment (state, payload) { 9 state.count += payload.num 10 } 11}
htmlmixed
1// pages/index.vue 2<template> 3 <div> 4 <h1>{{title}}</h1> // Welcome to Nuxt.js Appが表示される 5 <p>{{ $store.state.message }}</p> // State messageが表示される 6 <p>{{ $store.commit('increment', {num: 1}) }}</p> // 意味ないが最初に1加算される 7 <button @click="$store.commit('increment', {num: 1})"> // 押しても加算されない 8 <!-- <button @click="$store.commit({type: 'increment', num: 1})"> -->// type型に置き換えても加算されない 9 カウント:{{ $store.state.count }} // 2が表示される 10 </button> 11 </div> 12</template> 13 14<script> 15import { defineComponent, ref } from '@nuxtjs/composition-api' 16export default defineComponent({ 17 setup () { 18 const title = ref('Welcome to Nuxt.js App') 19 return { title } 20 } 21}) 22</script>
試したこと
・$storeのstateは表示できている。
・ボタンの外にcommitを書いたら描画後に実行された。
・reactiveにcomputedを使用したが反応しないので戻した。
・mapStateやmapMutationsも試したが反応しないというか正しい記述かわからないので戻した。
・commitにtype型としてmutationsのメソッドを指定しても反応しなかった。
・button要素をa要素に変更しても反応しなかった。
初心者で申し訳ないですが何が足りないのかわからないので教えて下さい。
よろしくお願いします。
補足情報
Node : v15.2.0
npm : v6.13.7
Nuxt : v2.14.7
json
1"dependencies": { 2 "@nuxt/http": "^0.6.0", 3 "@nuxt/utils-edge": "^2.14.8-26779714.3b19e3f4", 4 "@nuxtjs/composition-api": "^0.16.4", 5 "fs": "0.0.1-security", 6 "nuxt": "^2.0.0" 7}, 8"devDependencies": { 9 "babel-eslint": "^10.0.1", 10 "eslint": "^4.19.1", 11 "eslint-friendly-formatter": "^4.0.1", 12 "eslint-loader": "^2.1.1", 13 "eslint-plugin-vue": "^4.0.0" 14}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。