1122cc
1k
2021-05-13 10:38:12
2
144

Vue에서 Vuex 상태관리 라이브러리를 사용하지않고 구현하려면...


Vue에서 보통 컴포넌트간의 데이터 송수신을 위해 Vuex (상태관리 라이브러리)를

사용해서 보다 편리하게 전역적으로 데이터 상태를 관리하여 어느 컴포넌트에서든 접근할 수 있고

변이(변경)시킬 수 있잖아요?


그럼 Vuex를 사용하지않고 Vue에서 컴포넌트 간에 데이터를 송수신하려면

import, export 만을 이용해서 컴포넌트간 데이터를 주고 받고 할 수 밖에 없는 것인가요?


이 부분이 정말 궁금하네요..

Vuex에서의 부분을 Vue로 사용할 때 어떻게 사용하는지..

0
  • 답변 2

  • 캐티
    5k
    2021-05-13 10:49:45

    저는 뷰를 쓸때 app 에 컴포넌트들 데이터를 주고 받을 수 있게 하였던것 같스빈다. 일케하면 그냥 app 객체를 컴포넌트에서 필요할때 읽어서 다른 컴포넌트에 데이터를 넘기거나 제어를 하면 대저. 다른 라이브러리 쓰는걸 별로 안 좋아해서 단순한 구조로 했었스빈다.

    뷰를 안쓰는 지금도 이런 구조는 나쁘지 않다고 생각되빈다. vuex가 정답이라고 말하는 사람은 아마 없을꺼빈다. 어떤 목적을 이루는데 방법은 다양한데 그중 하나가 아니겠는쩌여.

    요즘에는 app.header, app.content, 이런식으로 각각에 모듈들이 로딩되면 저기에 들어가게 해서 쓰고 있스빈다. 모듈은 기본적으로 app 객체를 인자로 받게 했쩌. 글머 콜백이든 메소드든 프로퍼티든 자바스크립트에 원형태 원하는대로 쓸 수 있쩌.

    -1
  • 1122cc
    1k
    2021-05-13 13:15:46

    캐티

    감사합니다.

    main.js에서 App.vue를 import하여 Vue 인스턴스에 담으니 

    App.vue에서의 자바스크립트 단에 사용할 데이터 오브젝트들을 (예를 들어API에 접근하여 가져온 데이터 오브젝트) 선언해주고 

    new Vue({
      router,
      store,
      render: h => h(App)
    }).$mount('#app')


    위와 같이 마운트해주어 다른 컴포넌트에서 최상위 컴포넌트인 App.vue의 객체를

    가져와서 쓰면된다는 말씀이라고 이해하면될까요??


    마지막 "각각의 모듈들이 로딩되면 저기에 들어가게 해서" 이 부분은 이해가 잘되질않네요 ㅜㅜ



  • 로그인을 하시면 답변을 등록할 수 있습니다.