상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
클라우드 컴퓨팅에서 프라이빗 클라우드의 특징은 무엇인가요?
신용카드 한도가 초과되면 어떻게 되나요?
신용카드 한도가 코로나19로 인해 영향을 받나요?
신용카드 한도를 관리하는 모바일 앱은?
신용카드 한도가 소득에 어떻게 관련이 있나요?
신용카드의 무료 혜택에는 어떤 것들이 있나요?
에어컨 청소 비용은 평균적으로 얼마인가요?
에어컨 청소를 위해 사전에 준비해야 할 것은 무엇인가요?
에어컨 청소를 할 때 에어컨 모델에 따라 다른 점은 무엇인가요?
에어컨 청소에 적합한 시기는 언제인가요?
근로장려금은 연속해서 받을 수 있나요?
라벤더를 활용한 요리 수업을 열려면 어떻게 해야 하나요?
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순위입니다.
수정하기
취소하기