Vue에서 비부모관계에서 통신을 할 경우 
- 전역에 Vue로 생성자 객체 를 만든후 그것을 통해 통신하는 방법을 사용할 수 있고 
 
- Vue에서 제공하는 Vuex를 사용할 수도 있다.
 
Vue에서 제공하는 Vuex를 사용해보자.
Vuex 설치하기
Vuex 세팅하기
1) main.js에 Vuex를  import시키기
1 
  | import Vuex from 'vuex'; 
  | 
 
2) Vuex를 쓰겠다고 해주기
3) Vuex.Store로 store 객체 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 
  | const store = new Vuex.Store({   state: {     user: {       name: 'Jihyun'     }   },   getters: {     getUserInfo(state) {       return state.user;     }   },   mutations: {     setUserInfo(state, new_user_info) {       state.user = new_user_info;     }   } }); 
  | 
 
- State : 상태값들을 설정
 
- getters : 값을 가져오는 함수들을 설정
 
- Mutations : 값을 바꿔주는 함수들을 설정
 
4) Vue를 생성하면서 store객체를 넣어준다.
1 2 3 4 5 6 
  | new Vue({   el: '#app',   router,   store,   render: h => h(App) }); 
  | 
 
5) vue파일에 사용해보기
1 2 3 4 5 
  | methods: {            knownUserInfo() {                this.$store.getters.getUserInfo;                this.$store.commit('setUserInfo', {넘겨줄 값});            }, 
  | 
 
store에 있는 getters에서 getUserInfo에서 값을 가져온다.
1 
  | this.$store.getters.getUserInfo; 
  | 
 
store에 있는 mutations에서 setUserInfo에 값을 넘겨 값을 변경
1 
  | this.$store.commit('setUserInfo', {넘겨줄 값}); 
  | 
 
vuex 동작 원리

참고하기
1. Vuex document
2. Vuex github
3. Vue 한국 사용자 모임