Vue 사용자 정의 명령 사용 방법 상세 설명

Vue 사용자 정의 명령 사용,구체 적 인 내용 은 다음 과 같 습 니 다.
1.사용자 정의 명령 어 문법
Vue 사용자 정의 명령 어 문법 은 다음 과 같 습 니 다.

Vue.directive(id, definition)
들 어 오 는 두 개의 인자,id 는 명령 ID,definition 은 정의 대상 을 말 합 니 다.그 중에서 정의 대상 은 갈고리 함 수 를 제공 할 수 있다.
2.갈고리 함수
정의 대상 의 갈고리 함 수 는 다음 과 같 습 니 다.

갈고리 함수 의 매개 변수
el:명령 에 연 결 된 요 소 는 DOM 을 직접 조작 할 수 있 습 니 다.
binding:한 대상,다음 속성 포함:
*name:명령 명,v-접 두 사 는 포함 되 지 않 습 니 다.
*value:명령 의 바 인 딩 값,예 를 들 어 v-my-directive="1+1",value 의 값 은 2 입 니 다.
*old Value:명령 바 인 딩 의 이전 값 은 update 와 componentUpdated 갈고리 에서 만 사용 할 수 있 습 니 다.값 이 바 뀌 든 안 바 뀌 든 사용 할 수 있 습 니 다.
*expression:바 인 딩 값 의 문자열 형식 입 니 다.예 를 들 어 v-my-directive='1+1',expression 의 값 은'1+1'입 니 다.
*arg:명령 에 전 달 된 인자.예 를 들 어 v-my-directive:foo,arg 의 값 은"foo"입 니 다.
*modifiers:수정자 가 포 함 된 대상 입 니 다.예 를 들 어 v-my-directive.foo.bar,수정자 대상 modifiers 의 값 은{foo:true,bar:true}입 니 다.
vnode:Vue 컴 파일 로 생 성 된 가상 노드 입 니 다.
oldVnode:이전 가상 노드 는 update 와 componentUpdated 갈고리 에서 만 사용 할 수 있 습 니 다.
3.예
Vue 사용자 정의 명령 의 일반적인 사용 예 는 다음 과 같 습 니 다.

Vue.directive('my-directive', {
 bind: function(){
 //        
 //         ,                
 },
 inserted: function(){
 //...
 },
 update: function(){
 //              
 //           
 },
 componentUpdated: function(){
 //...
 },
 unbind: function(){
 //     
 //    bind         
 }
명령 의 정의 대상 에서 update 만 사용 할 때 함수 만 직접 입력 하면 됩 니 다.다음 과 같 습 니 다.

Vue.directive('my-directive', function(){
 //...
})
4.적용
우 리 는 종종 명령 을 전역 으로 정의 합 니 다.방식 은 다음 과 같 습 니 다.
첫 번 째 단계:directive/directives.js 와 같은 전역 명령 파일 을 만 듭 니 다.
두 번 째 단계:Vue.directive()를 이용 하여 전역 명령 을 만 들 고 이 를 드 러 냅 니 다.예 를 들 어 하나의 focus 가 폼 에 자동 으로 초점 을 맞 춥 니 다.
directives.js

import Vue from 'vue';
Vue.directive('focus',{
 //        DOM 
 inserted: function(el){
  el.focus(); //    
  el.setAttribute('placeholder','     ');
 }
})
Vue.directive('***',{
 inserted: function(el){
  //....
 }
})

export {Vue}

세 번 째 단계:main.js(입구 JS 파일)에 도입 하면 파일 접 두 사 를 생략 할 수 있 습 니 다.
main.js

import directive from './components/global/directives';
이렇게 모든 Vue 파일 을 이렇게 v-focus(명령 명)만 사용 하면 편리 하 게 사용 할 수 있 습 니 다.

<el-input v-model="input" placeholder="" v-focus></el-input>
명령 에 전달 값 이나 여러 값 이 필요 하 다 면

<body id="example">
 <div id="demo" v-demo="{color : 'white',text : 'hello!'}"></div>
</body>
<script>
 Vue.directive('demo',function(value){
  console.info(value.color); //white
  console.info(value.text) // hello!
 })
 var demo = new Vue({
  el : '#demo'
 })
</script>
----------


질문
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기