vue自定義指令

2021-10-03 17:19:57 字數 1095 閱讀 8016

系統指令在不夠用的情況下,考慮自定義,指令是個函式|物件,用來操作dom的, 裡面的this 返回window

全域性定義

vue.directive('指令名',函式(el,binding){})
[指令名]  不帶v-

[el]  使用指令的dom元素

[binding]  是個物件 含有呼叫指令時傳入的 引數

vnode:vue編譯生成的虛擬節點

區域性定義

new vue(,        //簡寫方式: bind + update(預設執行這兩個鉤子函式)

指令名(el,binding){},

指令名: //繫結指令的元素插入到父節點時呼叫 v-focus

bind:fn //指令第一次繫結到元素時呼叫 v-drag

update:fn //指令所在的元素的model層的資料,view有更新請求時

componentupdated:fn //更新完成時

}}})自定義指令有五個生命週期(也叫鉤子函式),分別是 bind,inserted,update,componentupdated,unbind

bind:只呼叫一次,指令第一次繫結到元素時呼叫,用這個鉤子函式可以定義乙個繫結時執行一次的初始化動作。

inserted:被繫結元素插入父節點時呼叫(父節點存在即可呼叫,不必存在於document中)。

update:被繫結於元素所在的模板更新時呼叫,而無論繫結值是否變化。通過比較更新前後的繫結值,可以忽略不必要的模板更新。

componentupdated:被繫結元素所在模板完成一次更新週期時呼叫。

unbind:只呼叫一次,指令與元素解綁時呼叫。 補充案例:自定義指令-拖拽

directives: 

document.onmouseup = function()

return false;//阻止冒泡

} }}

使用方法和系統指令一樣

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