前言
前面一篇文章Vue2.0如何实现一个自定义指令(搜一贼)中我们已经对2.0中自定义指令的语法和钩子函数以及钩子函数中的参数进行了梳理,最后还实现了一个非常简单的文本框自动聚焦的小案例,接下来这篇文章我们将梳理一下vue3.0中自定义指令是如何实现的,3.0相较于2.0又发生了哪些变化。
vue3.0自定义指令
其实3.0中自定义指令的语法没有什么太大变化,唯一的变化就是在2.0中是通过Vue.directive()来实现一个全局的自定义指令,而3.0中不再使用Vue了,而是通过函数createApp()来返回一个vue实例app,进而通过app.directive()来实现一个全局的自定义指令。
directive所接受的参数没有变化,依然是name和options。那么在3.0中变化最大的便是options中的钩子函数了。一个包含了完整钩子函数的自定义指令应该是如下这样:
const app = createApp();
app.directive('focus',{
created(el,binding