반응형
Vuex란? Vuex는 전역 상태(global state)를 관리하는 라이브러리입니다. 지역상태 vs 전역상태 상태는 Local State와 Global State가 있습니다. 지역 상태(local state) 전역 상태(global state) 하나의 컴포넌트에서 영향을 줌 전체 앱 또는 다수의 컴포넌트에 영향을 줌 ex) 입력 요소에 의해 사용자가 값을 입력, show / hide 를 결정하는 값 ex) 유저 권한 상태, 장바구니 Vuex는 하나의 컴포넌트가 아닌 여러 컴포넌트들 또는 전체 앱에서 사용하는 데이터들의 값을 관리하기 위해서 사용하는 라이브러리입니다. Vuex는 언제 사용해야 할까? Vue를 처음 사용하실 때는 Vuex에 대해서 이해하기가 쉽지 않습니다. 충분히 Vue를 사용하고 경험해보..
문제 사항 nvm use를 실행하고 node -v를 하면 node 버전이 변경돼야하는데 변경이 되지 않는 경우가 있습니다. nvm use {version} nvm use 16 node -v // not 16 해결방법 1. 명령 프롬프트를 관리자 권한으로 실행 하고 다시 명령어를 입력해봅니다. 1번 방법도 안되면 2번 방법으로 넘어갑니다. 2. C:\Program Files\nodejs 폴더를 삭제합니다. 기존 nvm을 이용해서 설치한 node가 아니라, node 단일 버전을 설치한 경우 nvm 을 사용해도 node 버전이 변경이 되지 않는 경우가 있습니다. 해당 폴더 삭제 이후 nvm use를 다시 해보시길 바랍니다. nvm 설치 방법 자주 사용하는 명령어 사용법 프론트엔드 개발할 때 필수적으로 설치해야..
provide, inject를 사용하는 이유 Vue에서 데이터 전달을 위해서 props를 많이 사용합니다. 하지만 props를 사용할 때, 자식 컴포넌트의 계층이 깊다면 여러 컴포넌트를 거쳐서 데이터가 전달되게 됩니다. 데이터가 필요가 없는 컴포넌트인데도 props를 통해서 전달해야 하고, 번거로움이 있습니다. provide, inject를 사용하게 되면 부모 컴포넌트에서 데이터를 제공하게 되고 모든 하위 컴포넌트에서 inject를 통해서 데이터를 받을 수 있습니다. 지금부터 사용방법에 대해서 알아보겠습니다. provide inject 사용하기 // 부모 컴포넌트 export default { provide() { return { value: this.value }; }, } 부모 컴포넌트에서 provi..
안녕하세요 요즘 인공지능을 활용해서 코딩하시는 분들이 많은 것 같습니다. 저는 Chat GPT에게 물어보면서 도움 되는 정보를 많이 얻어 갑니다. AI 이전 개발하는 방법 AI가 나오기 전에는 "구글이 선생님이다." "구글한테서 배웠다" 이런 이야기를 많이 했었습니다. 모르는 것이 있을 때, 구글에서 검색을 해서 많이 찾았습니다. 검색을 통해서 내가 필요한 자료를 찾고 레퍼런스를 빠르게 읽는 것이 능력이었습니다. 그래서 개발할때, 공식 문서나, 유용한 자료들은 영어로 되어 있는 경우가 많았습니다. 영어를 읽을 수 있는 능력도 개발에서 필수였습니다. 요즘은 구글 번역이 워낙 잘되어있어서 영어를 몰라도 크게 어려움이 없습니다. AI 이전 개발할때 프로세스 모르는 것이 생긴다 ➡️구글 검색을 한다 ➡️ 자료를..
Vue에서 부모에서 자식으로 데이터 전달, 반대로 자식에서 부모로 데이터 전달이 가능합니다. 부모에서 자식으로 데이터 전달은 Props를 이용해서 전달하고, 자식에서 부모 데이터 전달은 $emit 이벤트를 이용하여 데이터를 전달합니다. 간단한 예시로 알아보겠습니다. 아래 글은 Options API 방식 입니다. Composition API 방식은 다음 글을 참조 바랍니다. Vue3 Props와 Emit 이벤트 이용해서 부모에서 자식 데이터 주고 받기Composition API Vue는 부모 자식 컴포넌트 간의 데이터를 서로 전달할 수 있습니다. 양방향 데이터 바인딩이 가능한 장점이 있습니다. 부모에서 자식으로는 Props 옵션을 이용해서 전달하고, 자식에서 부모는 Emit powerku.tistory.c..
Vue에서 동적으로 스타일과 Class를 추가하면 편리하게 사용할 수 있습니다. 1. Class 추가하기 v-bind:class 또는 :class를 이용해서 추가합니다. active 클래스를 isActive 데이터가 true이면 추가하게 됩니다. Hello, Vue! 2. 배열로 Class 추가하기 2개 이상의 클래스를 동적으로 추가할 때, 배열을 사용합니다. isActive, isHighlighted 값이 true 이면 각각 active, highlight 클래스를 추가합니다. Hello, Vue! 3. 조건에 따라서 Class 추가하기 삼항연산자를 이용해서 클래스를 추가할 수 있습니다. 4. 스타일 추가하기 v-bind:style 또는 :style를 이용해서 스타일을 추가할 수 있습니다. 스타일을 동..
애자일(Agile) 방법론 중의 하나인 데일리 스크럼이 있습니다. 애자일(Agile) 은 긴민한 민첩함이란 뜻입니다. 애자일 방법론은 개발 과정에서 변화에 빠르게 대응하고 요구사항에 대하여 유연하게 반응하기 위해서 추구하는 방법론입니다. 그중 데일리 스크럼에 대해서 설명드리겠습니다. 데일리 스크럼이란? 팀 구성원들이 매일 회의를 통해 프로젝트 진행 현황을 공유하고 어려움을 이야기합니다. 정해진 시간에 회의를 진행하며, 약 15분 정도 진행합니다. 데일리 스크럼 하는 방법? 1. 참석인원 정하기 프로젝트에 직접 참여하는 인원이 참가해야 합니다. 기획, 개발자 등 프로젝트에 필요한 인원이 참석하고 필요에 따라서 프로젝트 리더 등 관리자도 참석이 필요합니다. 2. 매일 정해진 시간, 장소 정하기 많은 팀원들이..
Vue에는 Computed, Watch, Mehtods 속성을 언제 사용하면 좋을지 정리입니다. 헷갈릴 수도 있지만, 언제 사용하면 좋을지 알아두시면 유용합니다. 1. Computed 오직 데이터 바인딩에서만 사용 데이터가 변경될때 실행 다른 데이터 값에 의존하는 데이터에 사용 Vue Computed란? 사용 해야 하는 이유 Vue에서 동적 값을 출력하는 핵심 기능인 computed 가 있습니다. computed를 이용하면 좀 더 간편하게 데이터를 출력시킬 수 있고, 성능을 향상할 수 있습니다. Computed는 언제 사용해야 하는가? {{ price + powerku.tistory.com 2. Watch 템플릿에 직접 사용 X 데이터 변경이 일어나고 부수적인 Side Effect 발생이 필요할때 사용(..
Vue에서 감시자(Watch) 속성이 있습니다. Vue watch 란? watch 속성은 데이터를 감시하고 있고, 데이터가 변경이 될 때, 정의된 함수를 실행합니다. watch 사용방법 data의 정의한 message를 watch 속성 안에 넣고 함수를 작성합니다. message 데이터가 변경이 되면 정의한 함수가 실행됩니다. Composition API const message = ref('Hello, Vue!'); watch(message, function(newValue, oldValue) { console.log('message 변경됨:', newVal, oldVal); }); Options API new Vue({ data: { message: 'Hello, Vue!' }, watch: { me..
Vue에서 동적 값을 출력하는 핵심 기능인 computed 가 있습니다. computed를 이용하면 좀 더 간편하게 데이터를 출력시킬 수 있고, 성능을 향상할 수 있습니다. Computed는 언제 사용해야 하는가? {{ price + '원' }} 위와 같이 price 값 뒤에 원이라는 단위를 붙여야 된다면 template에서 넣어 줄 수 있습니다. 하지만 이렇게 하게 된다면, 문제점이 있습니다. 복잡한 연산의 경우 알아보기 어렵습니다. 매번 컴포넌트가 렌더링 될 때마다 실행됩니다. computed 기능을 사용하여 연산하게 되면 해당 연산이 따로 분리되기 때문에 유지보수에 좋고, 알아보기 쉽습니다. price라는 값의 의존성을 가지게 되며 price 값이 변경될 때만 연산을 진행합니다. price 값이 변..