vue自定義指令

2022-06-23 11:57:12 字數 1278 閱讀 4420

vue自定義指令的作用

1. 定義任何的dom操作,並且是可復用的。

2. 整合第三方外掛程式。

vue自定義指令的實現:

1. 註冊自定義指令:

① 全域性自定義指令

// 自定義許可權指令

vue.directive('permission', else

}})

② 區域性自定義指令

directives: else }}

}

注意:2. 使用自定義元件:

vue自定義指令整合第三方外掛程式

在前端開發領域,以前的通用框架是jquery,jquery以及基於jquery構建的通用元件形成了乙個龐大的生產系統。現在的通用框架是angular、react和vue,每個框架都需要基於自身構建新的元件庫。

自定義指令好就好在:原先的那些通用元件,無論是純js的也好,基於jquery的也好,都可以拿來主義直接吸收,而不需要改造或重構。

比如寫文件通常會用到highlight.js,我們可以直接將其封裝為乙個自定義指令,這樣highlight.js就變成了vue的乙個新功能。

const highlight = require('highlight.js')

vue.directive('highlight',

})

vue自定義指令的引數

1. 鉤子函式

乙個指令定義物件可以提供如下幾個鉤子函式 (均為可選):

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

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

③ update:所在元件的 vnode 更新時呼叫,但是可能發生在其子 vnode 更新之前。指令的值可能發生了改變,也可能沒有。但是你可以通過比較更新前後的值來忽略不必要的模板更新 (詳細的鉤子函式引數見下)。

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

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

2. 鉤子函式的傳入引數

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

② binding:乙個物件,包含以下屬性:《常用》

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