一诊沪、基本用法
全局注冊(cè)和局部注冊(cè)差导,和組件類似被啼,區(qū)別是把component 換成了 directive
二帜消、鉤子函數(shù)
1?bind
只調(diào)用一次 (和@click類似),指定第一次綁定到元素時(shí)調(diào)用
用這個(gè)鉤子函數(shù)可以定義一個(gè)在綁定時(shí)執(zhí)行一次的初始化動(dòng)作
2?inserted
被綁定元素插入父節(jié)點(diǎn)時(shí)調(diào)用(父節(jié)點(diǎn)存在即可調(diào)用趟据,不必存在document中)
3?update
綁定元素所在模板更新時(shí)調(diào)用(不論綁定值是否變化)
通過比較更新前后的綁定值券犁,可以忽略不必要的模板更新
4?componentUpdated
被綁定元素所在模板完成一次更新周期時(shí)調(diào)用
5?unbind
只調(diào)用一次,指令與元素解綁時(shí)調(diào)用
三汹碱、鉤子函數(shù)的參數(shù)
1?el :指令所綁定的元素,可以用來直接操作DOM
2荞估、binding:一個(gè)對(duì)象咳促,包含屬性有:
2.1?name:指令名,不包括v- 前綴
2.2?value:指令的綁定值勘伺,如: v-my-directive="1+1",value值是2
2.3?oldValue:指令綁定的前一個(gè)值跪腹,僅在update 和 componentUpdated中用,無論值是否改變都可用
2.4?expression:綁定值的字符串形式(綁定值的屬性名飞醉,也叫值的表達(dá)式)
? 如:v-my-directive="1+1"冲茸,expression值是"1+1"
2.5?arg:傳給指令的參數(shù),如:v-my-directive:foo缅帘,arg的值是"foo"
2.6?modifiers:一個(gè)包含修飾符的對(duì)象
? 如:v-my-directive.foo.bar轴术,修飾符對(duì)象modifiers的值是 {foo: true, bar:true}
3?vnode:Vue 編譯生成的虛擬節(jié)點(diǎn)
4?oldVnode:上一個(gè)虛擬節(jié)點(diǎn),僅在update 和 componentUpdated中
<div v-test:xwu.e.f="word"></div>
【Demo實(shí)例 https://jsbin.com/zovozoz/edit?html,output】