상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
관절의 가동 범위를 늘리려면 어떻게 해야 하나요?
관절의 염증 치료를 위한 의사의 조언은 어떤 것인가요?
무릎 운동을 하면서 동기를 유지하는 방법은?
복숭아나무를 위한 최적의 비료 주기는?
domain authority가 하락했을 때 점검해야 할 사항은 무엇인가요?
가나가와현에서 유명한 박물관은 어디인가요?
가나가와현에서 자주 열리는 콘서트나 공연은 무엇인가요?
가나가와현의 전통적인 가옥은 어떤 형태인가요?
가나가와현의 철도 서비스는 어떻게 개선되고 있나요?
하체 운동에서 중량 추가를 언제 시작해야 할까요?
하체 운동 중 과도한 스트레스 관리 방법은?
어깨 부상을 예방하기 위해서 주의할 점은 무엇인가요?
Previous
Next
수정하기 - Vue.js에서 커스텀 디렉티브를 만드는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Vue.js에서 커스텀 디렉티브를 만드는 것은 Vue의 강력한 기능 중 하나로, 특정 DOM 요소에 대한 동작을 정의할 수 있습니다. 커스텀 디렉티브를 사용하면 Vue의 기본 디렉티브(v-if, v-for, v-bind 등) 외에 자신만의 디렉티브를 만들어 재사용할 수 있습니다. 아래에서는 Vue.js에서 커스텀 디렉티브를 만드는 방법에 대해 자세히 설명하겠습니다. 1. 커스텀 디렉티브의 기본 구조 Vue.js에서 커스텀 디렉티브는 `Vue.directive` 메서드를 사용하여 정의합니다. 이 메서드는 두 개의 인자를 받습니다: 디렉티브의 이름과 디렉티브의 정의 객체입니다. ```javascript Vue.directive('my-directive', { // 생명주기 훅 bind(el, binding, vnode) { // 디렉티브가 바인딩될 때 호출 }, inserted(el, binding, vnode) { // 엘리먼트가 DOM에 삽입될 때 호출 }, update(el, binding, vnode, oldVnode) { // 엘리먼트가 업데이트될 때 호출 }, componentUpdated(el, binding, vnode, oldVnode) { // 컴포넌트가 업데이트된 후 호출 }, unbind(el, binding, vnode) { // 디렉티브가 언바인딩될 때 호출 } }); ``` 2. 디렉티브의 생명주기 훅 커스텀 디렉티브는 여러 생명주기 훅을 지원합니다. 각 훅은 특정 시점에 호출되며, 다음과 같은 역할을 합니다: - bind : 디렉티브가 처음 바인딩될 때 호출됩니다. 초기 설정을 할 수 있습니다. - inserted : 엘리먼트가 DOM에 삽입된 후 호출됩니다. <a href='https://sangseek.com/sangseeks/DOM 조작/ko'>DOM 조작</a>이 필요한 경우 유용합니다. - update : 데이터가 변경되어 엘리먼트가 업데이트될 때 호출됩니다. - componentUpdated : 컴포넌트가 업데이트된 후 호출됩니다. 자식 컴포넌트의 업데이트 후에 필요한 작업을 수행할 수 있습니다. - unbind : 디렉티브가 언바인딩될 때 호출됩니다. 리소스를 정리하는 데 사용됩니다. 3. 디렉티브 사용 예제 아래는 간단한 커스텀 디렉티브를 만들어서 요소의 배경색을 변경하는 예제입니다. ```javascript Vue.directive('color', { bind(el, binding) { el.style.backgroundColor = binding.value; }, update(el, binding) { el.style.backgroundColor = binding.value; } }); // Vue 인스턴스 생성 new Vue({ el: ' app', data: { color: 'red' } }); ``` HTML에서 이 디렉티브를 사용하는 방법은 다음과 같습니다: ```html <div id="app"> <div v-color="color">이 배경색은 데이터에 따라 변경됩니다.</div> <button @click="color = 'blue'">파란색으로 변경</button> <button @click="color = 'green'">초록색으로 변경</button> </div> ``` 4. 디렉티브의 인자와 수정자 디렉티브는 인자와 수정자를 받을 수 있습니다. 인자는 디렉티브의 이름 뒤에 `:`로 구분하여 사용할 수 있으며, 수정자는 `.`으로 구분하여 사용할 수 있습니다. ```javascript Vue.directive('my-directive', { bind(el, binding) { if (binding.arg === 'color') { el.style.color = binding.value; } if (binding.modifiers.bold) { el.style.fontWeight = 'bold'; } } }); ``` HTML에서 사용 예: ```html <p v-my-directive:color="'red'" v-my-directive.bold>이 텍스트는 빨간색이고 굵게 표시됩니다.</p> ``` 5. 결론 Vue.js에서 커스텀 디렉티브를 만드는 것은 매우 유용하며, 특정 DOM 요소에 대한 동작을 캡슐화하여 재사용할 수 있게 해줍니다. 디렉티브의 생명주기 훅을 활용하여 다양한 상황에 맞게 동작을 정의할 수 있으며, 인자와 수정자를 통해 더욱 유연한 사용이 가능합니다. 이러한 기능을 통해 Vue.js <a href='https://sangseek.com/sangseeks/애플/ko'>애플</a>리케이션의 유지보수성과 확장성을 높일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기