vue自定義指令directive


vue中指令分為全局指令和局部指令

先來看全局自定義指令:

第一個參數是指令的名字,第二個參數可以是函數也可以是對象,先來看函數:

函數中接收三個參數:

el在這里是input元素

bindings里是一些綁定信息:

其中expression是指綁定的變量名字,這里是content

name是指令名字

value是綁定數據的值,上面content為空,所以目前value為空

 

v-slice上還可以寫修飾符

還可以傳參:

vnode虛擬節點:

vnode中contex是vue實例,其中的content是vue中的content值,即通過vnode.context拿到vue實例

小demo:規定input框中只能輸入5位

再利用對象的形式實現:

bind + update 等於之前的函數

第三個對象:(不常用)

 

完善一下:在這個demo中用到兩個指令,v-slice和v-model ,不太合適,所以要v-slice自己實現雙向數據綁定:

此功能實現了,但是當data中content值被提前設置后,出現此情況

所以取value值時應先對其進行截取

又發現content值很長

截取想要是長度,可根據

v-slice:9.number這個屬性
這里限制9位數
 

在控制台更改content值:

發現input中的值沒變。要想同步更新,需寫在update中

 

增加功能:.number時不能有字母出現

update中也要做處理

局部指令:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM