前提・やりたいこと
vueファイル内ではなく外部のjsファイル内でstoreにアクセスしてデータを取得したいです。
具体的には、storeファイル内にある、現在開いているページのslugと同じファイル名のglbファイルのパスをcurrentModel
としてasync fetch処理で保存しているので、それを外部のJSファイル内で取得しようとしています。
この外部JSはvueファイル内のCanvasで使っています。
JavaScript
1import * as THREE from "three"; 2import GLTFLoader from 'three-gltf-loader'; 3import {store} from '/store/index.js' 4 5main() { 6//省略 7 { 8 const gltfLoader = new GLTFLoader(); 9 const model = store.getters.getCurrentModel(); 10 11 gltfLoader.load( Model, (data) => { 12 const gltf = data; 13 const obj = gltf.scene; 14 scene.add(obj); 15 }); 16 } 17//省略 18} 19
こちらはsrore/index.js の記述です。
import Vuex from 'vuex'; const store = () => new Vuex.Store({ state: { currentModel: null, }, getters: { getCurrentModel: (state) => { return state.currentModel; }, }, mutations: { saveCurrentModel(state, currentModel){ state.currentModel = currentModel; }, } }) export default store
するとこのようなエラーが出ます。
TypeError: _store_index_js__WEBPACK_IMPORTED_MODULE_7__.store is undefined
このエラーに詳しい方がいらっしゃいましたら、何が原因かご教授いただけると幸いです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。