在vuejs的使用中,雖然有著一些除了預設設定的核心指令( v-model 和 v-show ), vue 也允許自定義指令來實現某些功能
例如:我們在載入頁面的時候實現輸入框自動獲取焦點的功能
當頁面載入時,我們還未對輸入框進行任何操作,並且輸入框已經處於聚焦狀態,顯示效果如下:
我們可以按照官網的模板來編譯js:
// 註冊乙個全域性自定義指令 "autofocus"
vue.directive('autofocus',
})
這是官網定義的全域性指令,我們也可定義乙個區域性指令來使用
directives:
}}
當js編譯完成後,我們就可以在html中加入我們自定義的v-autofocus指令來實現預期的效果
在編譯js檔案時,乙個指令定義物件可以提供如下幾個鉤子函式,不能隨便自己定義
每個鉤子函式的引數 有el
、binding
、vnode
和oldvnode ,能力有限,僅做簡略筆記,其
具體所指和功能請移步官網 自定義指令
輸入框自動獲取焦點完整**如下:
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...