官术网_书友最值得收藏!

3.2.1 指令的注冊

自定義指令在Vue中占據重要的位置。下面將介紹指令的注冊,包括如何對全局指令及局部指令進行注冊。

1.局部注冊

局部注冊自定義指令:作用在局部,默認只會在當前頁面的Vue實例生效;其寫法跟全局注冊不同,它是用directives寫在Vue實例中,這時directive要加“s”變為復數。指令名不用字符串格式,指令名和directives都是以對象的形式來寫,其中的鉤子函數寫法和全局一樣。當指令寫好后,直接在html元素中使用v-指令名即可。

局部注冊自定義指令,代碼如下:

    directives:{
       content:{
        inserted:el=>{
        el.value='請輸入內容';
        }
       }
    }

在頁面中用v-指令名引用即可,代碼如下:

    <input type="text" v-focus v-content/>
2.全局注冊

全局注冊自定義指令:作用在全局,寫法是在Vue實例前用Vue.directive()方法,directive不用加“s”。在這個方法中傳入兩個參數,第一個參數是指令名,指令名要求是字符串;第二個參數是一個對象,在對象中屬性為鉤子函數,這很像Ajax中的success回調函數,在鉤子函數中傳入參數(如el、binding、VNode、oldVnode),根據參數進行編寫。

全局注冊自定義指令,代碼如下:

提示:全局注冊用directive,末尾是沒有“s”的,局部注冊是有“s”的。

    Vue.directive('focus',{
       inserted:function(el){
       el.focus()//添加焦點事件,也可以給DOM元素添加其他,例如在<input>標簽中用到el.value='請輸入內容'
       }
    })
主站蜘蛛池模板: 安阳市| 旺苍县| 朝阳区| 阜平县| 景德镇市| 栾城县| 雷山县| 武义县| 瓮安县| 长沙县| 九龙城区| 武平县| 凤山县| 龙岩市| 蒙自县| 广州市| 雷波县| 昭平县| 进贤县| 乌拉特中旗| 洛扎县| 涿鹿县| 武鸣县| 绥江县| 双流县| 大关县| 磴口县| 双流县| 德昌县| 襄城县| 武宣县| 平舆县| 九龙坡区| 明水县| 绥德县| 潜山县| 县级市| 泰和县| 石台县| 南城县| 双牌县|