除了vue内置的指令比如:v-model和v-show,vue也可以注册自定义指令,就如我们这个项目中要经常使用这个功能,就要考虑使用自定义指令了,
当然自定义指令有两种 全局自定义指令 和 组件内指令
全局指令的方法名是directive 而组件指令要在尾部加一个s
还有在组件内使用时 头部一定加上v-不然没用
我们还需要知道directive的参数和钩子函数
directive的参数有
el:指令所绑定的dom元素,可以直接用来操作dom
binding:一个对象 包含以下属性
name: 指令的名称
value: 指令绑定的值
oldValue: 指令绑定前一个值
expression: 绑定值的字符串形式
arg: 传给指令的参数
modifiers: 这是一个包含修饰符的对象
钩子函数:
bind:当指令第一次绑定到元素时调用
insterted:被绑定元素插入父节点时调用
updata:所在组件的VNode更新时调用
componentUpdata:所在组件的VNode及孩子的VNode更新时调用
unbind:指令于元素解绑时调用
vue自定义指令的使用场景
1.节流防抖
2.懒加载
3.表单验证