Vue中的自定義指令 全域性和區域性

2021-10-21 00:03:00 字數 1334 閱讀 6590

通過自定義指令,我們可以對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元素。那我們該怎麼辦呢?這時候就需要我們自定義指令來實現這...