自定义指令
- 作用:进行DOM操作
- 使用场景:对纯 DOM 元素进行底层操作,比如:文本框获得焦点
- 两种指令:1 全局指令 2 局部指令
注册一个全局的指令
1 | // 第一个参数:指令名称 |
局部指令:
1 | var vm = new Vue({ |
使用: <div v-directiveName>
指令钩子函数会被传入以下参数:
- el:指令所绑定的元素,可以用来直接操作 DOM 。
- binding:一个对象,包含以下属性:
- name:指令名,不包括 v- 前缀。
- value:指令的绑定值
- oldValue:指令绑定的前一个值,仅在 update 和 componentUpdated`钩子中可用。
- expression:字符串形式的指令表达式。例如 v-my-directive=”1 + 1”中,表达式为”1 + 1”。
- arg:传给指令的参数,可选。例如
v-my-directive:foo中,参数为"foo"。 - modifiers:一个包含修饰符的对象。例如:
v-my-directive.foo.bar中,修饰符对象为{ foo: true, bar: true }。
- vnode:Vue 编译生成的虚拟节点。
- oldVnode:上一个虚拟节点,仅在
update和componentUpdated钩子中可用。