其他分享
首页 > 其他分享> > Vue3 高级语法(二)—— 自定义指令、Teleport、Vue插件

Vue3 高级语法(二)—— 自定义指令、Teleport、Vue插件

作者:互联网

一、认识自定义指令

在Vue的模板语法中我们学习过各种各样的指令:v-show、v-for、v-model等等,除了使用这些指令之外,Vue也允许我们来自定义自己的指令。

自定义指令分为两种:

比如我们来做一个非常简单的案例:当某个元素挂载完成后可以自定获取焦点

二、实现方式一:聚焦的默认实现

在这里插入图片描述

三、实现方式二:局部自定义指令

实现方式二:自定义一个 v-focus 的局部指令

四、方式三:自定义全局指令

自定义一个全局的v-focus指令可以让我们在任何地方直接使用
在这里插入图片描述

五、指令的生命周期

在这里插入图片描述

六、指令的参数和修饰符

如果我们指令需要接受一些参数或者修饰符应该如何操作呢?

在这里插入图片描述

在我们的生命周期中,我们可以通过 bindings 获取到对应的内容:
在这里插入图片描述

七、自定义指令练习

自定义指令案例:时间戳的显示需求:

我们来实现一个可以自动对时间格式化的指令v-format-time:

在这里插入图片描述

在这里插入图片描述

八、认识Teleport

在组件化开发中,我们封装一个组件A,在另外一个组件B中使用:那么组件A中template的元素,会被挂载到组件B中template的某个位置; 最终我们的应用程序会形成一颗DOM树结构;

但是某些情况下,我们希望组件不是挂载在这个组件树上的,可能是移动到Vue app之外的其他位置:

Teleport是什么呢?

在这里插入图片描述
和组件结合使用:
我们可以在 teleport 中使用组件,并且也可以给他传入一些数据;
在这里插入图片描述

在这里插入图片描述

九、多个teleport

如果我们将多个teleport应用到同一个目标上(to的值相同),那么这些目标会进行合并:
在这里插入图片描述

十、认识Vue插件

通常我们向Vue全局添加一些功能时,会采用插件的模式,它有两种编写方式:

插件可以完成的功能没有限制,比如下面的几种都是可以的:

十一、插件的编写方式

在这里插入图片描述

标签:Teleport,插件,Vue,自定义,指令,组件,我们
来源: https://blog.csdn.net/weixin_44827418/article/details/123234265