1.自定义指令是什么?
除vue 官方提供的 v-text、v-for、v-model、v-if 等常用的指令外,vue 允许开发者自己定义的指令。
2.为什么使用自定义指令?
自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念,但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展,不仅可用于定义任何的DOM操作,并且是可复用的。
3. 自定义指令的分类有哪些?
vue 中的自定义指令分为两类,分别是:
⚫ 私有自定义指令
在每个 vue 组件中,可以在 directives 节点下声明私有自定义指令。
⚫ 全局自定义指令
全局共享的自定义指令需要通过“Vue.directive()”进行声明
4.自定义指令如何使用?
(1)在使用自定义指令时,需要加上 v- 前缀
(2)如何为自定义指令动态绑定参数值?
在 template 结构中使用自定义指令时,可以通过等号(=)的方式,为当前指令动态绑定参数值
(3)如何通过 binding 获取指令的参数值
在声明自定义指令时,可以通过形参中的第二个参数,来接收指令的参数值
(4) 如何简写?
如果 insert 和update 函数中的逻辑完全相同,则对象格式的自定义指令可以简写成函数格式
(6)关于 update 函数
bind 函数只调用 1 次:当指令第一次绑定到元素时调用,当 DOM 更新时 bind 函数不会被触发。 update 函数会在每次 DOM 更新时被调用