반응형
반응형
Vue에서 v-if와 v-show 디렉티브가 있습니다. 디렉티브란 라이브러리에서 DOM 엘리먼트가 무언가를 수행하도록 지시하는 특수한 속성입니다. v-if v-show 공통점 두 가지 모두 조건에 따라서 화면에 렌더링 할 수 있는 디렉티브입니다. 차이점 v-if 는 조건이 참이면 렌더링을 하고 거짓이면 아무 동작을 하지 않습니다. v-show는 조건에 따라서 display 속성을 이용하여 보이거나, 숨깁니다. 성능 차이 v-if는 실제로 화면을 렌더링을하고, 다시 지우고 해서 토글 비용이 높습니다. 반면에 v-show는 초기에 화면을 렌더링 할 때 비용이 높습니다. 무언가를 자주 토글을 해야하는 경우에는 v-show를 사용하고, 조건이 자주 변경될 가능성이 낮은 경우에는 v-if를 사용하는 것이 좋습니다..
Nuxt 에서 modules와 buildModules 속성이 있습니다. modules Nuxt에서 모든 기능을 제공하면 매우 복잡하고 어려워서, 사용자가 프로젝트별로 모듈을 추가 할 수 있습니다. modules에서 정의한 모듈은 Nuxt가 부팅될때 순차적으로 실행이 됩니다. nuxt.config.js 에서 modules 옵션을 설정할 수 있습니다. export default defineNuxtConfig({ modules: [ // Simple usage '@nuxtjs/eslint-module', // With options ['@nuxtjs/eslint-module', { /* module options */ }] ] }) buildModules nuxt v2.9 이후로 buildModules 속성이..
개발 용어 중 보일러 플레이트라는 말이 있습니다. 이 코드는 보일러 플레이트로 관리해서 만들면 좋겠다 보일러 플레이트 단어 뜻과 어원 어떻게 사용되는지 알아보도록 하겠습니다. 보일러플레이트란? 프로그래밍 분야에서 사용하는 보일러 플레이트는 반복적으로 사용되는 코드 조각들을 재사용하는 패턴을 의미합니다. 프로그래밍 코드 이외에도 개발 초기 필수적으로 설정이나 구조들도 보일러 플레이트가 될 수 있습니다. 보일러 플레이트 코드를 재사용을 하면 개발자들이 비즈니스 로직에 더욱 집중할 수 있어서 프로젝트 작업 속도 향상에 도움이 됩니다. 보일러플레이트 어원 보일러를 만들때 강철에 보일러 이름과 정보를 동일하게 입력하는 틀에서 시작되었습니다. 이 단어가 프로그래밍 분야로 넘어오게 되었습니다. 보일러 플레이트 코드 ..
Minxin 란? Mixins는 Vue 컴포넌트에서 코드를 재사용할 수 있는 방법입니다. 언제 사용하면 좋을까? Vue 컴포넌트에서 HTML과 Style은 재사용이 가능합니다. 컴포넌트가 비슷한 로직을 가지고 있으면 Mixins를 사용하는 것이 좋습니다. 예를 들면, 회원 정보 List를 조회하는 컴포넌트(UserList)와 프로젝트 List를 조회하는 컴포넌트(ProjectList)가 있으면 컴포넌트 초기화 이후 데이터를 조회하고, List 컴포넌트를 만드는 로직이 비슷하다면 Mixins을 통해서 코드를 재사용하고, 중복 소스를 제거할 수 있습니다. 사용법 mixins 폴더를 생성하고 listMixin.js 파일을 생성합니다. listMixin.js export default { data(): { re..
안녕하세요. 지난 포스팅에서 Vuex가 무엇인지 언제 사용하는지에 대해서 알아보았습니다. Vuex 상태 관리 라이브러리 설치 방법 사용법 Vuex란? Vuex는 전역 상태(global state)를 관리하는 라이브러리입니다. 지역상태 vs 전역상태 상태는 Local State와 Global State가 있습니다. 지역 상태(local state) 전역 상태(global state) 하나의 컴포넌트에서 powerku.tistory.com 이번에는 Vuex를 더 나은 방법으로 사용하기 위해서 state, getter, mutations, actions에 대해서 알아보도록 하겠습니다. State, Getter, Mutations, Actions를 사용해야 하는 이유 methods: { addOne() { th..
Intersection Observer 란? 브라우저의 자바스크립트 API 중 하나입니다. 엘리먼트의 가시성 변화를 감지할 수 있습니다. 예전에는 스크롤 이벤트를 통해서 스크롤 페이징을 구현하였는데, 브라우저 과부하를 일으켜서 성능 저하가 일어나기도 하였습니다. 하지만 Intersection Observer API를 브라우저의 내부 로직을 이용하여 엘리먼트의 가시성 변화를 감지할 수 있어서 성능이 좋고 효율적으로 무한 스크롤을 구현할 수 있습니다. 언제 사용하면 좋은지? 1. 무한스크롤 구현 사용자가 스크롤을 할 때 새로운 내용을 동적으로 로드할 수 있습니다. 무한스크롤을 이용하면 페이지 로딩 속도를 개선할 수 있고 부드러운 사용자 경험을 제공할 수 있습니다. 2. 이미지/광고 로딩 최적화 화면에 보일때..
안녕하세요 픽업 게임이나, 게스트 농구 경기를 참가하게 되면 순번을 정해서 뛰는 경우가 많습니다. 한 팀에 5~8명 정도 1번부터 8번까지 순서를 정합니다. 각 순서대로 5명씩 경기를 뛰게 됩니다. 1쿼터 1,2,3,4,5 2쿼터 6,7,8,1,2 3쿼터 3,4,5,6,7 ... 이렇게 경기를 뛰게 됩니다. 하지만 경기를 뛰다보면 순간적으로 다음 차례가 기억이 나지 않는 경우가 있어서 프로그램으로 한번 만들어 보았습니다. + 버튼을 누르면 선수를 추가할 수 있고 다음 버튼을 누르면 다음 차례에 뛸 선수들을 표시 합니다. 필요하신 기능이나 문제점이 있으시면 댓글로 부탁드립니다. 감사합니다. https://powerku.github.io/today-basketball/
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..