Vue 自定義指令

2021-10-21 20:38:28 字數 1139 閱讀 5967

什麼是指令

指令是乙個特殊 attribute,用於操作dom物件.

常見的指令:

v-if v-else if v-else v-for v-show v-model v-on v-bind v-text v-html v-once v-pre v-clock

為什麼需要自定義指令

vue自帶的指令不能滿足業務需要,比如說更換元素樣式,或者許可權管理等。

自定義指令的開發步驟

// 全域性指令寫在vue的例項建立前(簡寫方式)

vue.directive("red",function(el,binding))

自定義指定的用法

>

v-red

>

自定義區域性指令p

>

div>

自定義指令的生命週期

勾子函式

說明bind

第一次繫結到元素時呼叫,只呼叫1次(重要)

inserted

被繫結元素插入父節點時呼叫

update

更新componentupdated

更新完成

unbind

解綁元素時呼叫

自定義指令的勾子函式的引數:

el:指令所繫結的元素,可以用來直接操作 dom 。

binding:乙個物件,包含以下屬性:

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

value:指令的繫結值

oldvalue:指令繫結的前乙個值,僅在 update 和 componentupdated 鉤子中可用。

expression:字串形式的指令表示式。

arg:傳給指令的引數,可選。例如 v-my-directive:foo 中,引數為 「foo」。

modifiers:乙個包含修飾符的物件。

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

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