除了vue内置的指令比如:v-model和v-show,vue也可以注册自定义指令,就如我们这个项目中要经常使用这个功能,就要考虑使用自定义指令了,
当然自定义指令有两种 全局自定义指令 和 组件内指令
唯一的区别就是 全局指令的方法名是directive 而组件指令要在尾部加一个s 还有全局指令我个人用的时候一般在main.js使用或者创一个的工具文件夹使用,组件内自定义指令顾名思义放着组件内使用
还有在组件内使用时 头部一定加上v-不然没用
我们还需要知道directive的参数和钩子函数
directive的参数有
el:指令所绑定的dom元素,可以直接用来操作dom
binding:一个对象 包含以下属性
name: 指令的名称
value: 指令绑定的值
oldValue: 指令绑定前一个值
expression: 绑定值的字符串形式
arg: 传给指令的参数
modifiers: 这是一个包含修饰符的对象
钩子函数:
1.bind: 此钩子函数只会被调用一次,可以定义一个在绑定时执行一次的初始化动作
2.inserted: 当被绑定的元素插入到父元素中是低调用(此处的父元素不局限于document中)
3.update: 不论被绑定的值是否发生了变化,在末班更新时都会被调用,
4.componentUpdated:被绑定的元素在模板完成一次更新周期时调用,
5.unbind: 只调用一次,元素解绑时调用
原文:https://www.cnblogs.com/luckyjiu9/p/13708733.html