vue自定義指令用法

2021-10-06 00:26:00 字數 1229 閱讀 8032

在vue中,有的情況下,仍然需要對普通 dom 元素進行底層操作,這時候就會用到自定義指令。也就是說我們在操作普通dom的時候有可能會用到自定義指令。

自定義指令和自定義元件一樣,也是先註冊後使用,其註冊和元件的註冊很類似,也分為全域性註冊和區域性註冊。只是註冊元件時是使用的component關鍵字,而註冊指令時要使用directive關鍵字。

自定義指令有以下幾個鉤子函式:

指令鉤子函式會被傳入以下引數:

oldvnode:上乙個虛擬節點,僅在updatecomponentupdated鉤子中可用。

除了 el 之外,其它引數都應該是唯讀的,切勿進行修改。如果需要在鉤子之間共享資料,建議通過元素的 dataset 來進行。

舉個例子:

>

v-mydirective:[pos]

="100"

/>

>

全域性註冊使用自定義指令:

vue.

directive

('mydirective',,

inserted:

function

(el)

,// 鉤子函式update:每當元素本身更新(但是子元素還未更新)時觸發

update:

function

(el,binding,vnode,oldvnode)},

})

區域性註冊:

new

vue(

, directives:

, inserted:

function

(el)

, update:

function

(el,binding,vnode,oldvnode),}

}})

template內部寫法:

export

default},

directives:

, inserted:

function

(el)

, update:

function

(el,binding,vnode,oldvnode),}

}}

參考:

vue官網-自定義指令

Vue自定義指令

vue有很多內建的指令,比如說v on,v model,v clock等等,每乙個指令會完成一定的功能,但是這些內建的指令總會有些侷限性,要是能夠自定義指令就好了 vue的自定義指令分類 全域性指令和區域性指令 vue指令的定義和用法 以全域性指令為例 1.語法 vue.directive 指令id...

vue自定義指令

自定義指令主要有兩種方式。一是在元件裡以directives的選項來自定義指令的內容。這樣的自定義指令是區域性的自定義指令,只在當前的元件裡面才能使用。script export default directives arr arr.join el.style.csstext arr script ...

VUE 自定義指令

dom插入便獲取焦點 vue.directive focus 根據指令的值決定自否獲取焦點 vue.directive focus 注 被拖拽的元素必須有定位樣式 vue.directive drag function el,binding document.nm useup function 拓展...