關於vue的自定義指令問題

2021-10-04 23:35:15 字數 705 閱讀 2006

今天學習了vue的自定義指令:

自定義指令:全域性自定義指令 + 區域性自定義指令

全域性自定義指令:

(參照官網上的例子)

vue.

directive

("focus",}

)new

vue(

)

而區域性自定義指令就是在vue例項物件或者元件中:

new

vue(}}

});

而自定義指令有相應的鉤子函式:

bind:只呼叫一次,指令第一次繫結到元素時呼叫。在這裡可以進行一次性的初始化設定。

inserted:被繫結元素插入父節點時呼叫 (僅保證父節點存在,但不一定已被插入文件中)。

update:所在元件的 vnode 更新時呼叫。

componentupdated:指令所在元件的 vnode 及其子 vnode 全部更新後呼叫。

unbind:只呼叫一次,指令與元素解綁時呼叫。

el: 指令所繫結的元素,可以用來直接操作 dom,就是放置指令的那個元素。

binding: 乙個物件,裡面包含了幾個屬性,這裡不多展開說明,官方文件上都有很詳細的描述。

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

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