Vue階段 指令自定義,修飾

2021-10-05 08:42:37 字數 1631 閱讀 6897

指令修飾符

"text" autofocus >
"age" type=

"number"

>"

將 msg 的內容轉為有效的數字

"msg"

>

取代 input 監聽 change 事件,改為失去焦點後觸發

"msg"

>

輸入首尾空格過濾

>

"text" v-model.lazy=

"val"

>

}"text" v-model.number=

"num1"

> + "text" v-model.number=

"num2"

>=}

全域性指令

先建立然後新增到例項化

區域性指令

直接在例項化的區域內建立

存在的意義 :

可以讓開發者靈活控制 指令功能 執行的時間 不同的條件下 觸發不同的功能

鉤子函式會被傳入的引數

注意: 除了 el 之外其餘的屬性均為唯讀屬性

- name: 指令名,不包含 v-

- value: 指令的繫結值 拿到 「isdrag」 的資料,存什麼不重要,只要最後的結果

- oldvalue: 指令繫結的前乙個值(update 和 componentupdated 中可使用)

- expression: 字串形式的指令表示式 isdrag =

!isdrag

- arg: 傳給指令的引數,可選 類似陣列中的 argument

- modifiers: 包含修飾符的物件

/*

bind(el, binding) = binding;

對 binding 的解構賦值

}*/bind

(el,))

;}

>

<

!-- 自動獲取 焦點

蘋果 手機不生效

-->

<

!--

"text" autofocus >

-->

"text" v-focus >

>

="box2" v-drag:fn.limit=

"isdrag"

>

<

/div>

"isdrag = !isdrag"

>

}<

/button>

<

/div>

vue.

directive

("drag",)

,// 可以觸發多次的函式 (資料更新之後呼叫)

componentupdated

(el,)}

);newvue(}

)<

/script>

Vue自定義指令

vue有很多內建的指令,比如說v on,v model,v clock等等,每乙個指令會完成一定的功能,但是這些內建的指令總會有些侷限性,要是能夠自定義指令就好了 vue的自定義指令分類 全域性指令和區域性指令 vue指令的定義和用法 以全域性指令為例 1.語法 vue.directive 指令id...

vue自定義指令

自定義指令主要有兩種方式。一是在元件裡以directives的選項來自定義指令的內容。這樣的自定義指令是區域性的自定義指令,只在當前的元件裡面才能使用。script export default directives arr arr.join el.style.csstext arr script ...

VUE 自定義指令

dom插入便獲取焦點 vue.directive focus 根據指令的值決定自否獲取焦點 vue.directive focus 注 被拖拽的元素必須有定位樣式 vue.directive drag function el,binding document.nm useup function 拓展...