• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    Vue自定義指令使用方法詳解

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:32:07
    文檔

    Vue自定義指令使用方法詳解

    Vue自定義指令使用方法詳解:Vue自定義指令的使用,具體內(nèi)容如下 1.自定義指令的語法 Vue自定義指令語法如下: Vue.directive(id, definition) 傳入的兩個(gè)參數(shù),id是指指令I(lǐng)D,definition是指定義對象。其中,定義對象可以提供一些鉤子函數(shù) 2.鉤子函數(shù) 定義對象的鉤子函數(shù)如下:
    推薦度:
    導(dǎo)讀Vue自定義指令使用方法詳解:Vue自定義指令的使用,具體內(nèi)容如下 1.自定義指令的語法 Vue自定義指令語法如下: Vue.directive(id, definition) 傳入的兩個(gè)參數(shù),id是指指令I(lǐng)D,definition是指定義對象。其中,定義對象可以提供一些鉤子函數(shù) 2.鉤子函數(shù) 定義對象的鉤子函數(shù)如下:

    Vue自定義指令的使用,具體內(nèi)容如下

    1.自定義指令的語法

    Vue自定義指令語法如下:

    Vue.directive(id, definition)

    傳入的兩個(gè)參數(shù),id是指指令I(lǐng)D,definition是指定義對象。其中,定義對象可以提供一些鉤子函數(shù)

    2.鉤子函數(shù)

    定義對象的鉤子函數(shù)如下:

    鉤子函數(shù)的參數(shù)

    el: 指令所綁定的元素,可以用來直接操作 DOM 。

    binding: 一個(gè)對象,包含以下屬性:
    *name: 指令名,不包括 v- 前綴。
    *value: 指令的綁定值, 例如: v-my-directive=”1 + 1”,value 的值是 2。
    *oldValue: 指令綁定的前一個(gè)值,僅在 update 和 componentUpdated 鉤子中可用。無論值是否改變都可用。
    *expression: 綁定值的字符串形式。 例如 v-my-directive=”1 + 1” , expression 的值是 “1 + 1”。
    *arg: 傳給指令的參數(shù)。例如 v-my-directive:foo, arg 的值是 “foo”。
    *modifiers: 一個(gè)包含修飾符的對象。 例如: v-my-directive.foo.bar, 修飾符對象 modifiers 的值是 { foo: true, bar: true }。

    vnode: Vue 編譯生成的虛擬節(jié)點(diǎn)。

    oldVnode: 上一個(gè)虛擬節(jié)點(diǎn),僅在 update 和 componentUpdated 鉤子中可用。

    3.例子

    Vue自定義指令常見使用例子如下:

    Vue.directive('my-directive', {
     bind: function(){
     //做綁定的準(zhǔn)備工作
     //比如添加事件監(jiān)聽器,或是其他只需要執(zhí)行一次的復(fù)雜操作
     },
     inserted: function(){
     //...
     },
     update: function(){
     //根據(jù)獲得的新值執(zhí)行對應(yīng)的更新
     //對于初始值也會(huì)調(diào)用一次
     },
     componentUpdated: function(){
     //...
     },
     unbind: function(){
     //做清理操作
     //比如移除bind時(shí)綁定的事件監(jiān)聽器
     }
    

    當(dāng)指令的定義對象中只使用update時(shí),只需直接傳入函數(shù)即可,如下:

    Vue.directive('my-directive', function(){
     //...
    })

    4.應(yīng)用

    我們往往自定義指令都是定義到全局,方式如下:

    第一步:建立一個(gè)全局的命令文件例如:directive/directives.js.

    第二步:利用Vue.directive()建立一個(gè)全局命令,并將它暴露出來,例如一個(gè)focus 讓表單自動(dòng)聚焦.

    directives.js

    import Vue from 'vue';
    Vue.directive('focus',{
     //當(dāng)綁定元素插入到DOM中
     inserted: function(el){
     el.focus(); //元素聚焦
     el.setAttribute('placeholder','自定義內(nèi)容');
     }
    })
    Vue.directive('***',{
     inserted: function(el){
     //....
     }
    })
    
    export {Vue}
    
    

    第三步:在main.js(入口JS文件)中將它引入,可以省略文件后綴.

    main.js

    import directive from './components/global/directives';

    這樣任何一個(gè)Vue文件只要這樣v-focus(命令名),就可以很方便的用到了

    <el-input v-model="input" placeholder="" v-focus></el-input>
    

    如果指令需要傳值或者多個(gè)值

    <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>
    ----------
    
    
    

    關(guān)于自定義指令異步等其他問題

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Vue自定義指令使用方法詳解

    Vue自定義指令使用方法詳解:Vue自定義指令的使用,具體內(nèi)容如下 1.自定義指令的語法 Vue自定義指令語法如下: Vue.directive(id, definition) 傳入的兩個(gè)參數(shù),id是指指令I(lǐng)D,definition是指定義對象。其中,定義對象可以提供一些鉤子函數(shù) 2.鉤子函數(shù) 定義對象的鉤子函數(shù)如下:
    推薦度:
    標(biāo)簽: 使用 VUE 使用方法
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 老汉精品免费AV在线播放| 精品亚洲成a人片在线观看少妇| 亚洲国产精品自在拍在线播放 | 97精品国产一区二区三区| 亚洲精品偷拍视频免费观看| 国内精品久久久久久久影视麻豆| 国产精品一在线观看| 国产精品亚洲成在人线| 亚洲综合精品香蕉久久网| 欧美日韩专区麻豆精品在线 | 精品视频在线观看你懂的一区| 国产精品揄拍100视频| 亚洲日韩精品无码专区网址 | 青青青国产依人精品视频| 精品熟女少妇a∨免费久久| 亚洲精品无码99在线观看| 日本精品一区二区三区在线视频| 国产精品伊人久久伊人电影 | 亚洲精品无码专区在线播放 | 久久精品国产第一区二区| 成人精品视频成人影院| 久久精品国产亚洲网站| 国产亚洲精品观看91在线| AAA级久久久精品无码片| 精品国产VA久久久久久久冰| 久久精品九九亚洲精品| 欧美精品v欧洲精品| 亚洲Av永久无码精品三区在线| 亚洲精品tv久久久久| 亚洲精品无码久久久久去q| 中文字幕精品一区| 亚洲欧美日韩久久精品第一区| 合区精品中文字幕| 在线观看国产精品普通话对白精品| 无码国模国产在线无码精品国产自在久国产 | 麻豆精品视频在线观看| 久久精品国产一区二区三区| 免费精品久久久久久中文字幕| 久久露脸国产精品| 亚洲欧美精品午睡沙发| 亚洲av午夜福利精品一区人妖|