Vuex는 store(저장소)를 가지고 있다. 세션/쿠키 localStorage처럼 브라우저가 닫히지 않는이상 계속 유지되거나 하지는 않고, 메모리에 저장되기 때문에 새로고침시 초기화 된다. 컴포넌트 단위의 data()가 그저 어플리케이션 단위의 data()가 된 것이라 보면된다. 새로고침후에도 유지하려면 별도의 라이브러리가 필요
npm i vuex --save
// /src 경로에 생성
<script>
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex); // vuex를vue전체에 사용하도록 선언
export default new Vuex.Store({ // main.js으로 읽어들이도록 한다.
// 아래에 정의한 것은 어떤 컴포넌트에도 사용 가능하게 된다.
state: {
number: 2
}
})
</script>
<script>
export default createStore({
state: {
counter: 10
},
});
</script>
<script>
mutations: {
setCounter(state, value) {
state.counter = value;
}
}
</script>