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

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='請輸入內容'
       }
    })
主站蜘蛛池模板: 济阳县| 梓潼县| 红原县| 托里县| 新龙县| 浦江县| 舟曲县| 沙洋县| 漳州市| 喀喇沁旗| 平果县| 石景山区| 华池县| 砀山县| 察哈| 泗阳县| 贵定县| 广饶县| 镇远县| 化德县| 高州市| 通道| 邹城市| 华坪县| 秀山| 台山市| 达拉特旗| 宿松县| 淮阳县| 罗定市| 射洪县| 日土县| 乌兰县| 南岸区| 汉寿县| 福清市| 密云县| 阿拉尔市| 舟曲县| 蓬安县| 隆尧县|