[Vue.js] Custom Directive

2021. 1. 13. 21:52· WEB/Vue.js
목차
  1. [Vue.js] Custom Directive
  2. 전역
  3. 사용방법
  4. bind
  5. insert
  6. update
  7. componentUpdated
  8. unbind
  9. el
  10. binding
  11. vnode
  12. oldVnode
반응형

[Vue.js] Custom Directive

 

 

| 본 글은, Vue.js Guide 문서를 읽고 정리한 내용입니다.

 

 

1. 선언

전역

// main.js
Vue.directive('[디렉티브_이름]', { ... });

지역

export default { ... directives: { '[디렉티브_이름]': { ... } } }

사용방법

// 예)
<input v-[디렉티브_이름] />

 


2. Hook(훅) 함수

bind

처음 엘리먼트에 바인딩 될 때 한 번만 호출

insert

바인딩 된 엘리먼트가 부모 노드에 삽입 되었을 때 호출

update

포함하고 있는 컴포넌트가 업데이트 된 후 호출.

자식이 업데이트 되기 전일 가능성이 있음.

componentUpdated

포함하고 있는 컴포넌트와 자식들이 업데이트 된 후 호출

unbind

디렉티브가 엘리먼트로부터 언바인딩된 경우 한 번만 호출


3. Hook(훅) 전달인자

모든 전달 인자는 읽기 전용으로 사용해야한다. 절대 변경X

el

디렉티브가 바인딩된 엘리먼트

DOM조작 가능

binding

  • name: 디렉티브 이름. v-프리픽스 없음

  • value: 디렉티브에서 전달받은 값.

    예) v-my-directive="1 + 1" ⇒ 2

  • oldValue: 이전 값. update와 componentUpdated에서만 사용 가능.

  • expression: 표현식 문자열.

    예) v-my-directive="1 + 1" ⇒ "1 + 1"

  • arg: 디렉티브 전달 인자. 있는 경우에만 존재

    예) v-my-directive:foo ⇒ "foo"

  • modifiers: 포함된 수식어 객체. 있는 경우에만 존재

    예) v-my-directive.foo.bar ⇒ { foo: true, bar: true }

vnode

Vue 컴파일러가 만든 버추얼 노드

oldVnode

이전 버추얼 노드.

update와 componentUpdated에서만 사용 가능.

 

 

 

 

 


[참고] kr.vuejs.org/v2/guide/custom-directive.html

반응형
저작자표시 비영리 변경금지 (새창열림)

'WEB > Vue.js' 카테고리의 다른 글

[Vue.js] Vue에서 JQuery 사용하기  (0) 2021.01.16
[Vue.js] Custom Directive : Outside Click Event  (0) 2021.01.13
[Vuejs][VScode] 'v-slot' directive doesn't support any modifier.  (0) 2020.12.10
[Vuejs] v-html  (0) 2020.12.04
[Nuxtjs] 배포 할 때 console.log 한 번에 지우는 방법  (0) 2020.08.20
  1. [Vue.js] Custom Directive
  2. 전역
  3. 사용방법
  4. bind
  5. insert
  6. update
  7. componentUpdated
  8. unbind
  9. el
  10. binding
  11. vnode
  12. oldVnode
'WEB/Vue.js' 카테고리의 다른 글
  • [Vue.js] Vue에서 JQuery 사용하기
  • [Vue.js] Custom Directive : Outside Click Event
  • [Vuejs][VScode] 'v-slot' directive doesn't support any modifier.
  • [Vuejs] v-html
S0PH1A
S0PH1A
반응형
S0PH1A
Web Programmer
S0PH1A
전체
오늘
어제
  • 전체
    • About Me
    • Python
      • Python
      • Django
    • DataBase
      • MySQL
      • MongoDB
    • JAVA
      • JAVA
      • Spring
    • WEB
      • JavaScript
      • HTML
      • CSS
      • Vue.js
      • React
      • Nest.js
      • Node.js
      • Electron
      • PHP
    • Linux
    • Algorithm
    • 기타
    • 생각
    • App
      • ReactNative

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • electron
  • vue
  • mysql
  • javascript
  • Error
  • vue.js
  • install
  • Python
  • django
  • nodejs

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
S0PH1A
[Vue.js] Custom Directive
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.