通過自定義指令,我們可以對dom進行更多的底層操作,這樣不僅可以在某些場景下為我們提供解決問題的思路,而且讓我們對vue的底層有了進一步的了解。
通過vue.directive({})註冊全域性指令
鉤子函式:
(1)bind:此鉤子函式只會被呼叫一次,可以定義乙個在繫結時執行一次的初始化動作
(2)inserted:當被繫結的元素插入到父元素中時呼叫
(3)update:不論被繫結的值是否發生了變化,在更新時都會被呼叫
(4)componentupdated:被繫結的元素在模板完成一次更新週期時呼叫
(5)unbind:元素解綁時呼叫,只呼叫一次
引數:(1)el:指令所繫結的dom元素,可以直接用來操作dom
(2)binding:乙個物件,包含以下屬性:
name:指令名稱
value:指令繫結的值
oldvalue:指令繫結前乙個值
expression:繫結值的字串形式
arg:傳給指令的引數
modifiers:包含修飾符的物件
>
>
頁面載入時,input 元素自動獲取焦點p
>
v-focus
="meg"
>
>
div>
vue.
directive
('focus',,
inserted
(el)})
newvue(}
})<
/script>
此時游標在輸入框內閃爍
通過directives:{}註冊區域性指令
>
>
頁面載入時,input 元素自動獲取焦點p
>
v-focus
="meg"
>
>
div>
newvue(}
, directives:
,inserted
(el)}}
})<
/script>
效果如上圖所示 vue自定義全域性和區域性指令
一 介紹 1 除了核心功能缺省內置的指令 v model和v show vue 也允許註冊自定義指令。2 自定義指令的分類 1 全域性指令 2 區域性指令 3 自定義全域性指令格式 vue.directive 指令id,指令定義物件 4 自定義區域性指令格式 略二 指令物件中的鉤子函式 乙個指令定義...
Vue 自定義全域性指令和區域性指令的方法詳解
自定義全域性指令 inserted被繫結元素插入父節點時會呼叫該函式,執行一次。update當vnode更新時執行該函式,可能執行多次。el用來繫結指令的元素,是乙個原生 dom 物件。binding記錄自定義指令資訊的物件,包含許多屬性,例如 示例,實現文字框自動聚焦 html type text...
Vue入門指南 自定義全域性指令和區域性指令
三 以傳參的方式進行指令設定 四 函式簡寫 當開發需求做乙個自動獲取焦點事件的時候,我們最原生的做法就是通過獲取元素來註冊事件,document.getelementbyid search focus 然而在vue中並不提倡我們直接操作dom元素。那我們該怎麼辦呢?這時候就需要我們自定義指令來實現這...