728x90
728x90

Vue.js 를 배워보자 108

Vue반응형 데이터(Object) 업데이트하기

Vue.js의 Composition API는 직관적이고 유연한 방식으로 반응형 데이터를 관리할 수 있게 해줍니다. 오늘은 ref를 사용해 배열 데이터를 갱신하는 간단한 예제를 블로그 글 형식으로 소개하겠습니다. 예제를 통해 특정 조건에 맞는 데이터를 업데이트하는 방법을 알아보겠습니다.문제 상황우리는 아래와 같은 반응형 배열 데이터를 가지고 있습니다:const peresons = ref([ { seqaNo: 1, name: 'Jhon', age: 20 }, { seqaNo: 2, name: 'Tom', age: 23 }]);이제 다음과 같은 업데이트 데이터를 받아서:const update_pereson = ref([ { seqaNo: 2, name: 'Michel', age: 32 }]);pereso..

Vue Composition API로 배열 데이터에 segNo 추가하기

안녕하세요! 오늘은 Vue.js의 Composition API를 사용해서 배열 데이터에 순차적인 번호(segNo)를 추가하는 방법을 알아보겠습니다. 주어진 데이터는 pereson = [{name:'Jhon', age: 20}, {name:'Tom', age:23}]이고, 여기에 segNo를 추가해서 각 객체에 고유한 번호를 부여해보겠습니다. 코드 설명은 초보자도 쉽게 따라 할 수 있도록 단계별로 진행하겠습니다.목표pereson 배열에 segNo 속성을 추가segNo는 1부터 순차적으로 증가하는 번호로 부여Vue Composition API를 사용해 구현1. 기본 환경 설정먼저 Vue 프로젝트에서 Composition API를 사용하기 위해 3. 코드 설명ref로 반응형 데이터 생성pereson 배열을 r..

Vue CRUD UI 구성 시 watch와 computed 활용하기

안녕하세요, 개발자 여러분! 이번에는 Vue.js의 Composition API를 사용해 CRUD(Create, Read, Update, Delete) UI를 구성하면서 watch와 computed를 실무적으로 활용하는 방법을 블로그 글 형식으로 풀어보겠습니다. Composition API는 기존 Options API보다 유연하고 모듈화된 코드를 작성할 수 있게 해주며, 특히 로직 재사용성이 뛰어납니다.1. CRUD UI의 기본 설정CRUD UI를 구성한다고 가정하면, 사용자 목록을 표시하고 검색, 추가, 수정, 삭제 기능을 제공하는 인터페이스를 구현할 수 있습니다. Composition API를 사용하면 데이터와 로직을 함수 단위로 깔끔하게 분리할 수 있습니다. 먼저 기본 구조를 보겠습니다.  2. c..

TypeScript에서 & 연산자의 의미와 활용: DeliveryData 예제를 중심으로

안녕하세요, 개발자 여러분! 이번에는 TypeScript에서 자주 사용되는 & 연산자(Intersection Operator)에 대해 깊이 파헤쳐 보겠습니다. 질문에서 제공된 코드 export type DeliveryData = DeliveryInfo & { details: DeliveryDetail[]; };를 기반으로, &의 역할과 관련 정보를 블로그 글 형식으로 자세히 설명하겠습니다.2025.03.29 - [Vue.js 를 배워보자] - Vue 컴포넌트와 TypeScript를 활용한 배송 정보 관리: 실무 예제 1. & 연산자란?TypeScript에서 &는 **Intersection Operator(교차 연산자)**라고 불리며, 두 개 이상의 타입을 결합하여 하나의 새로운 타입을 만드는 데 사용됩니..

Vue 컴포넌트와 TypeScript를 활용한 배송 정보 관리: 실무 예제

안녕하세요, 개발자 여러분! 오늘은 Vue.js와 TypeScript를 사용해 실무에서 자주 접할 수 있는 컴포넌트 설계와 코드 공유 사례를 다뤄보겠습니다. 이번 예제에서는 배송 정보를 다루는 Delivery.vue 컴포넌트와 그 하위 컴포넌트인 DeliveryDetails.vue를 만들고, TypeScript 파일(Delivery.ts)을 공유하며 실무처럼 구현하는 방법을 소개합니다. 특히 DeliveryDetails.vue에서 그리드 UI를 활용해 배송 세부 항목을 표시한다고 가정하고, 타입 정의를 효율적으로 재사용하는 방법을 살펴보겠습니다.  1. 프로젝트 구조와 기본 설정먼저 프로젝트 구조를 간단히 정리해보겠습니다. src/├── components/│ ├── Delivery.vue ..

Vue에서 반응형 Lookup 객체로 라디오그룹, 콤보박스, 체크박스 관리하기

안녕하세요, 개발자 여러분! 오늘은 Vue.js에서 v-model을 활용해 반응형으로 라디오그룹, 콤보박스, 체크박스 그룹을 관리하는 방법을 알아보겠습니다. lookup 객체를 정의하고, 이를 반응형 데이터로 만들어 한 페이지에서 세 가지 UI 요소를 모두 사용해보겠습니다.   1. 반응형 Lookup 객체의 필요성Vue에서 v-model을 사용하면 데이터가 UI와 양방향으로 바인딩되며, 반응형으로 동작합니다. lookup 객체를 별도 파일에 정의하더라도, 이를 Vue 컴포넌트에서 반응형으로 활용하려면 reactive 또는 ref를 사용해야 합니다. 이번 예제에서는 reactive를 활용해보겠습니다. 2. Lookup 객체 정의먼저, src/constants/lookups.js 파일에서 lookup 객체..

Vue.js에서 사용되는 모든 특수문자 완벽 정리

Vue.js에서 사용되는 특수문자는 주로 템플릿 문법, 디렉티브, 그리고 컴포넌트 통신에서 나타납니다. 아래에서 Vue에서 자주 사용되는 특수문자와 그 의미를 체계적으로 정리해 드리겠습니다.1. 템플릿 문법에서 사용되는 특수문자Vue 템플릿에서 데이터를 바인딩하거나 제어할 때 사용됩니다.  특수문자의미예시설명{{ }}Mustache (이중 중괄호){{ message }}데이터나 표현식을 렌더링. 예: message 변수의 값을 출력.:v-bind의 축약형:class="className"속성 값을 동적으로 바인딩. v-bind:class와 동일.@v-on의 축약형@click="handler"이벤트 리스너를 바인딩. v-on:click와 동일.#v-slot의 축약형 (Vue 2.6+ 및 Vue 3)#defa..

Vue.js에서 watch로 버튼과 그리드의 disabled 상태 동적 제어하기

Vue.js에서 반응형 데이터와 watch를 사용하면 데이터 변화에 따라 UI 요소의 상태를 쉽게 제어할 수 있습니다. 이번 글에서는 action 값에 따라 버튼과 그리드의 disabled 속성을 동적으로 업데이트하는 방법을 알아보겠습니다. reactive 객체를 활용하고, watch로 상태를 감시하며, 실제 버튼과 그리드에 바인딩하는 과정을 단계별로 설명합니다. 요구사항초기 상태: action: 'normal'disabledGrid: false, disabledNew: false, disabledEdit: falsedisabledSave: true, disabledCancel: trueaction이 'insert' 또는 'edit'일 때:disabledGrid: true, disabledNew: tru..

GSAP와 Vue.js로 만드는 화려한 애니메이션 예제

안녕하세요, fellow 개발자 여러분! 오늘은 GreenSock Animation Platform(GSAP)과 Vue.js를 조합하여 웹에서 눈길을 사로잡는 화려한 애니메이션을 구현하는 방법을 소개하려고 합니다. GSAP의 강력한 애니메이션 기능과 Vue의 반응형 프레임워크가 만나면 어떤 마법이 펼쳐질까요? 바로 실습을 통해 확인해보겠습니다! 예제: 스크롤에 반응하는 화려한 카드 플립 애니메이션이 예제에서는 사용자가 스크롤할 때마다 카드가 뒤집히며 내용을 드러내는 애니메이션을 만들어 보겠습니다. GSAP의 ScrollTrigger와 Vue의 컴포넌트 시스템을 활용해 부드럽고 매력적인 효과를 구현할게요.1. 프로젝트 설정먼저 Vue 3 프로젝트를 설정하고 GSAP를 설치합니다. 터미널에서 다음 명령어를 ..

Vue.js로 실시간 판매량 그리드에 부드러운 숫자 애니메이션 구현하기

Vue의 watch를 활용해 수치가 변경될 때 부드러운 페이딩(또는 숫자 애니메이션) 효과를 구현하려면, CSS 전환(transition)이나 JavaScript로 보간(interpolation)을 조합해야 합니다. 단순히 watch만으로는 애니메이션이 적용되지 않으므로, Vue의 반응형 데이터와 CSS 애니메이션, 또는 외부 라이브러리(예: gsap나 anime.js)를 사용하는 방법이 있습니다.여기서는 두 가지 방법을 제안합니다:CSS transition과 클래스 토글을 활용한 방법 (간단하고 가벼움)JavaScript로 숫자 보간 애니메이션을 구현한 방법 (더 정교한 제어 가능)실무에서 간단히 적용할 수 있는 CSS 기반 방법을 먼저 보여드리고, 더 정교한 JavaScript 기반 방법도 추가로 설..

728x90
728x90