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這個屬性


在控制台更改content值:
發現input中的值沒變。要想同步更新,需寫在update中
增加功能:.number時不能有字母出現
update中也要做處理
局部指令: