課堂筆記之VueJS自定義指令

2021-08-30 19:17:17 字數 755 閱讀 7499

在vuejs的使用中,雖然有著一些除了預設設定的核心指令( v-model 和 v-show ), vue 也允許自定義指令來實現某些功能

例如:我們在載入頁面的時候實現輸入框自動獲取焦點的功能

當頁面載入時,我們還未對輸入框進行任何操作,並且輸入框已經處於聚焦狀態,顯示效果如下:

我們可以按照官網的模板來編譯js:

// 註冊乙個全域性自定義指令 "autofocus"

vue.directive('autofocus',

})

這是官網定義的全域性指令,我們也可定義乙個區域性指令來使用

directives: 

}}

當js編譯完成後,我們就可以在html中加入我們自定義的v-autofocus指令來實現預期的效果

在編譯js檔案時,乙個指令定義物件可以提供如下幾個鉤子函式,不能隨便自己定義

每個鉤子函式的引數 有elbindingvnodeoldvnode ,能力有限,僅做簡略筆記,其具體所指和功能請移步官網 自定義指令

輸入框自動獲取焦點完整**如下:

vuejs學習4 自定義指令

1 只是方法名由component 改為了directive 上例只是註冊了自定義指令 v focus 還沒有實現具體功能,下面具體介紹自定義指令的各個選工頁。自定義指令的選項是由幾個鉤子函式組成的,每個都是可選的。bind 只呼叫一次,指令第一次繫結到元素時呼叫,用這個鉤子函式可以定義乙個在繫結 ...

Vuejs全家桶系列(六) 自定義指令

vue.js 允許你註冊自定義指令,實質上是讓你教 vue 一些新技巧 怎樣將資料的變化對映到 dom 的行為。你可以使用vue.directive id,definition 的方法傳入指令id和定義物件來註冊乙個全域性自定義指令。定義物件需要提供一些鉤子函式 全部可選 自定義指令是用來操作dom...

vue自定義指令筆記

在vue中,有時候我們會把抽象的方法封裝為乙個自定義指令,多個地方共用 比如 拖拽指令 1 mychart1 class mychart1 v drag 2 3 4 1 data 8 9directives else if e.clientx disx parentwidth odiv.offset...