🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue.js

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

Vuex

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

Q&A

解決済

1回答

5907閲覧

Vuex storeの中身を初期化したい

Meitoku

総合スコア44

Vue.js

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

Vuex

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

0グッド

0クリップ

投稿2021/03/25 10:58

編集2021/03/27 07:20

タイトル通りです
router-linkでページ遷移時にstoreで定義しているデータ(tweet)を初期状態に戻すことはできますでしょうか?

###試したこと
stateに何か処理をするにはmutationsを使うと見たので、mutationsを使って初期化を試しましたがダメでした

####store.js

import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { currentPage: 1, }, mutations: { increment(state) { state.currentPage = 1 } } }) export default store;

####.Vue
tweetには何かしらの値が入っているとします
router-linkをクリック時にstore.commit('increment')を発動させるようにしています

<router-link :to="{name: 'test'}" @click.native="reset()"> <script> reset() { store.commit('increment') } </script>

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

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

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

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

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

plasticgrammer

2021/03/26 04:47

試したというmutationsを使ったコードや、commit('increment')にて実行されるコードなどを、あわせて提示頂けないでしょうか。
Meitoku

2021/03/27 06:43

ありがとうございます store.commit('increment')にしてますが、storeが無いからだと思いました ドキュメントではexport defaultではなく const store = になっていました しかしexport defaultでなくては他のページで使えなくなってしまいます どのようにすれば良いでしょうか?
Meitoku

2021/03/27 06:57

すみません、読み違いでした
Meitoku

2021/03/27 07:21

コード修正しました 現状これだけです v-on handler: "ReferenceError: store is not defined" が発生しているのでstoreが定義されていないと出てしまいます
guest

回答1

0

自己解決

this.$store.commit('increment')
で実行できました

投稿2021/03/27 14:25

Meitoku

総合スコア44

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問