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

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='請輸入內容'
       }
    })
主站蜘蛛池模板: 嘉善县| 固镇县| 扎囊县| 淅川县| 彰化县| 乌兰县| 邯郸县| 新昌县| 民勤县| 治多县| 普兰店市| 宜兰县| 沂水县| 利津县| 鹤山市| 青海省| 香格里拉县| 龙泉市| 武宁县| 祁阳县| 驻马店市| 桂阳县| 安新县| 武汉市| 鹿泉市| 石台县| 竹溪县| 秦皇岛市| 巨野县| 栖霞市| 东兰县| 武宣县| 兴安县| 博客| 北京市| 卓尼县| 共和县| 盐池县| 巴楚县| 巴林左旗| 乐亭县|