2017-12-14 11 views
0

私はすでに同じようなタイトルで質問を読んでいますが、その複雑さのために私はそれらに従うことができません。私のコードでは、私にとって解決策が見つけやすくなると思います。私は関連するコードだけを含める。

私の店はこれです: obs:vuexプラグインをインストールしました。

import Vue from 'vue'; 
import Vuex from 'vuex'; 


Vue.use(Vuex) 

const state = { 
    titulo: "please, change title" 
} 


const mutations = { 
    changeTitle(state, title) { 
     state.title= title 
    } 
} 


export default new Vuex.Store({ 

    state : state, 
    mutations : mutations 
}) 

マイApp.vue

<template> 
    <div> 
     <show-title-component ></show-title-component> 
     <change-title-component></change-title-component> 
    </div> 
</template> 

<script> 


import ShowTitleComponent from './components/ShowtitleComponent'; 
import ChangeTitleComponent from './components/ChangeTitleComponent'; 
import store from './vuex/store'; 

export default { 

components: {ShowTitleComponent, ChangeTitleComponent}, 
store, 
data: function() { 
    return {title: 'placeholder'} 
} 


} 
</script> 

エラーを生成するコンポーネント:

<template><div>{{ title}}</div></template> 

<script> 

export default { 
    name: "show-title-component", 
    computed: { 
     title() { 
     return this.$store.state.title /** error here */ 
     } 
    } 
} 

</script> 
+2

が含まれている必要があります。それを 'main.js'に含める必要があります。 – Traxo

+0

' new Vue'を呼び出すエントリーファイルに含めます。 –

+0

私は知識を修正したかどうかを確認するために本の運動をやり直していました。私は私のものを著者と比較して、コードの不一致を見つけることができませんでした。私が間違っていたのは、ストアファイルに.vueファイルという名前を付けることだけでした。私が.js(store.js)に変更した後、それはうまくいった! –

答えて

0

ストアファイルはJavascript(.jsファイル)ファイルである必要があります。ファイル名を変更してサーバをリブートすると、$ toreエラーが消えます。

は、エラーが実際にここにあった:

App.vue

import store from './vuex/store'; /** in my case, it should be js file. */ 
+1

あなた自身の答えを受け入れてください。 – herrbischoff

1

多分あなたstoreのインスタンスのうちのVue

あなたのAppエントリポイント(app.jsまたはmain.jsまたはindex.js)には次のコードを含める必要があります:

import store from './vuex/store' 

new Vue({ 
... 
store, 
... 
}) 

は、その後、任意のコンポーネント

this.$storeを使用するが、私は一般的なアーキテクチャをお勧めします:あなたはストアディレクトリ

2. npm i vuex -S

3.Make必ずそれを作成https://vuex.vuejs.org/en/structure.html enter image description here

0

1.Makeは確かsrc/store/index.jsは、import Vuex from 'vuex'Vue.use(Vuex)

4 。確かにsrc/main.jsにはimport store from './store'

関連する問題