>웹 프론트엔드 >JS 튜토리얼 >vue 사용자 정의 지시어

vue 사용자 정의 지시어

(*-*)浩
(*-*)浩원래의
2019-06-18 15:31:168281검색

Vue에서는 기본 핵심 지시문(v-model 및 v-show) 외에도 사용자 지정 지시문 등록도 허용합니다. Vue2.0에서 코드 재사용의 주요 형태와 추상화는 구성요소입니다. 그러나 어떤 경우에는 여전히 순수 DOM 요소에 대해 하위 수준 작업을 수행해야 하며, 이 경우 사용자 정의 지시문이 사용됩니다.

vue 사용자 정의 지시어

페이지가 로드되면 요소에 초점이 맞춰집니다(참고: 모바일 Safari에서는 자동 초점이 작동하지 않습니다). 실제로 이 페이지를 연 후 아무 것도 클릭하지 않는 한 입력 상자에는 여전히 초점이 맞춰져 있어야 합니다. 이제 지시문을 사용하여 이 기능을 구현해 보겠습니다. (권장 학습: JavaScript 비디오 튜토리얼)

// 注册一个全局自定义指令 `v-focus`Vue.directive('focus', {  // 当被绑定的元素插入到 DOM 中时……
  inserted: function (el) {    // 聚焦元素
    el.focus()
  }
})

로컬 지시문을 등록하려는 경우 구성 요소는 지시문 옵션도 허용합니다.

directives: {  focus: {    // 指令的定义
    inserted: function (el) {
      el.focus()
    }
  }
}

그런 다음 이를 다음의 모든 요소에 추가할 수 있습니다. 템플릿 다음과 같이 새로운 v-focus 속성을 사용하십시오:

<input v-focus>

지시문 정의 객체는 다음 후크 기능을 제공할 수 있습니다(모두 선택 사항):

bind: 지시문이 요소에 처음 바인딩될 때 한 번만 호출됩니다. 부르다. 여기에서 일회성 초기화 설정을 수행할 수 있습니다.

inserted: 바인딩된 요소가 상위 노드에 삽입될 때 호출됩니다(상위 노드만 존재하도록 보장되지만 반드시 문서에 삽입될 필요는 없습니다).

update: 구성 요소의 VNode가 업데이트될 때 호출되지만 하위 VNode가 업데이트되기 전에 발생할 수 있습니다. 지시어의 값은 변경되었을 수도 있고 변경되지 않았을 수도 있습니다. 하지만 업데이트 전과 후의 값을 비교하여 불필요한 템플릿 업데이트를 무시할 수 있습니다(자세한 후크 기능 매개 변수는 아래 참조).

comComponentUpdated: 명령어가 있는 구성 요소의 VNode와 해당 하위 VNode가 모두 업데이트된 후에 호출됩니다.

unbind: 명령이 요소에서 바인딩 해제될 때 한 번만 호출됩니다.

더 많은 JavaScript 관련 기술 기사를 보려면 js 튜토리얼 칼럼을 방문하여 알아보세요!

위 내용은 vue 사용자 정의 지시어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.