Vuex, store の設定と state の参照
Tweet- store は Vuex の中心的な機能。様々なものがここに集中している。
- まずは store を作る
- store を作る際に(
new Vuex.Store({})
)に state の設定を渡す - state は今までやってきた data のようなもの
/store/index.js
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
const state = {
appNumber: 0
};
const store = new Vuex.Store({
state
});
export default store;
- 作った store を読み込む
- new Vue({}) に store を渡す
- これで使用する準備は完了
main.js
import Vue from "vue";
import App from "./App.vue";
import store from "./store";
Vue.config.productionTip = false;
new Vue({
store,
render: h => h(App)
}).$mount("#app");
this.$store.state.appNumber
で Vuex の store にある state を参照できる- 元の data はもう使っていない
/components/AppMain.vue
<template>
<main>
{{appNumber}}
<Controller :changeNumber="changeNumber"/>
</main>
</template>
<script>
import Controller from "./Controller";
export default {
components: {
Controller
},
computed: {
appNumber() {
return this.$store.state.appNumber;
}
},
methods: {
changeNumber(val) {
this.appNumber = this.appNumber + val;
}
}
};
</script>