前提
- Vue.js と Vuex で作っているWEBアプリを、メインアプリとします。
- 別にパッケージとしてインストールした Vue.js と Vuex を使ったコンポーネントを、ライブラリコンポーネントと呼ぶことにします。
実現したいこと
メインアプリにライブラリコンポーネントを組み合わせて使いたいです。
発生している問題
組み合わせるとライブラリコンポーネント側の Vuex が正常に動作しません。
メインアプリ側の Vuex とライブラリコンポーネント側の Vuex が干渉するようです。
該当のソースコード
js
1// メインアプリ側の設定 2import Vue from 'vue' 3import Vuex from 'vuex' 4 5Vue.use(Vuex) 6 7export default new Vuex.Store({ 8 state: { 9 app_var1: false, 10 }, 11})
js
1// ライブラリコンポーネント側の設定 2import Vue from "vue" 3import Vuex from "vuex" 4Vue.use(Vuex) 5 6// "() => " を外すと画面内にコンポーネントが複数あったとき変数が共有されてしまうため、このようにしています 7const store = () => new Vuex.Store({ 8 state: { 9 library_local_var1: false, 10 }, 11}) 12 13export default store
試したこと
一時的にメインアプリ側の Vuex を外したところ、ライブラリコンポーネント側の Vuex が動作しました。
補足情報
"vuex": "^3.0.1"
"vue": "^2.5.17"
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。