Vue 自定義全域性指令和區域性指令的方法詳解

2021-09-25 10:35:57 字數 1566 閱讀 4076

自定義全域性指令

inserted被繫結元素插入父節點時會呼叫該函式,執行一次。

updatevnode更新時執行該函式,可能執行多次。

el用來繫結指令的元素,是乙個原生 dom 物件。

binding記錄自定義指令資訊的物件,包含許多屬性,例如:

示例,實現文字框自動聚焦:

html:

>

type

="text"

name="

" v-focus

>

div>

js:

vue.

directive

('focus'

, 當指令繫結到元素上時,就會執行該函式,執行一次。元素還未插入到 dom 中去,此時呼叫 focus() 方法無效(focus 是 原生js 的方法),所以必須在元素插入dom 之後才能呼叫該方法

/*bind(el) ,*/

// 有效

inserted

(el)

,updated

(el)})

newvue(,

methods:

})

示例,設定字型顏色:

html:

>

v-color="

'skyblue'

">

自定義指令,修改字型顏色h1

>

div>

js:

// 自定義全域性字型顏色指令

vue.

directive

('color',}

)new

vue(

, methods:

})

自定義區域性指令

定義方式:

示例:html:

>

v-fontsize="

'20px'

">

自定義私有指令,修改字型大小h1

>

div>

js:

new

vue(

, directives:}}

})

指令簡寫

簡寫的指令會寫入bindupdate鉤子函式中。

私有指令簡寫方式:

'directive_name': callback(el, binding)

全域性指令簡寫方式:

vue.directive('directive_name', callback(el, binding))

vue自定義全域性和區域性指令

一 介紹 1 除了核心功能缺省內置的指令 v model和v show vue 也允許註冊自定義指令。2 自定義指令的分類 1 全域性指令 2 區域性指令 3 自定義全域性指令格式 vue.directive 指令id,指令定義物件 4 自定義區域性指令格式 略二 指令物件中的鉤子函式 乙個指令定義...

Vue入門指南 自定義全域性指令和區域性指令

三 以傳參的方式進行指令設定 四 函式簡寫 當開發需求做乙個自動獲取焦點事件的時候,我們最原生的做法就是通過獲取元素來註冊事件,document.getelementbyid search focus 然而在vue中並不提倡我們直接操作dom元素。那我們該怎麼辦呢?這時候就需要我們自定義指令來實現這...

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

通過自定義指令,我們可以對dom進行更多的底層操作,這樣不僅可以在某些場景下為我們提供解決問題的思路,而且讓我們對vue的底層有了進一步的了解。通過vue.directive 註冊全域性指令 鉤子函式 1 bind 此鉤子函式只會被呼叫一次,可以定義乙個在繫結時執行一次的初始化動作 2 insert...