Vue自定義指令

2021-08-23 12:32:26 字數 1154 閱讀 9266

其中,引數1是指令的名稱,注意,在定義的時候,指令的名稱前面,不需要加 v- 字首了,在呼叫的時候,必須在指令名稱前面加上 v-字首來進行呼叫。

引數2:是乙個物件,在這個物件上,有一些指令相關的函式,這些函式可以在特定的階段,執行相關的操作。

bind:每當指令繫結到元素上的時候,會立即執行這個 bind 函式,只執行一次。

注意:在每個函式中第乙個引數,永遠是el,表示被繫結了指令的那個元素,這個 el 引數,是乙個原生的js物件。

inserted:元素插入到dom中的時候,會執行inserted函式[觸發一次]

updated:當vnode 更新的時候,會執行 updated,可能會觸發多次。

例子1:自定義全域性指令讓文字框獲取焦點

使用鉤子函式的第二個binding引數拿到傳遞的值。

定義:

vue.directive('color',,

})

使用:

binding物件包含以下屬性:

name:指令名,不包括 v- 字首。

value:指令的繫結值,例如:v-my-directive="1+1",value的值是2.

oldvalue:指令繫結的前乙個值,僅在 update 和 componentupdated鉤子中使用。無論值是否改變都可用。

expression:繫結值的字串形式。例如  v-my-directive="1+1",expression的值是 "1+1".

arg:傳給指令的引數。例如 v-my-directive:foo,arg的值是"foo".

例子2:自定義顏色指令,顏色可傳參。

和自定義全域性指令類似,**如下:

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 拓展...