Vue2学习之动态组件、插槽与自定义指令

138 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

动态组件

动态组件指的是动态切换组件的显示与隐藏。

如何实现动态组件渲染

在这里插入图片描述 先写好实验环境: 在这里插入图片描述 在这里插入图片描述 我们怎么理解这个<component>?它其实就是个占位符,给组件占位用的,我们要展示哪个组件,我们就让这个component去指定要展示的组件名称就可以了。 在这里插入图片描述

使用keep-alive保持状态

在这里插入图片描述 啥叫无法保持组件的状态? 就像下面这样,我们一开始在Left组件中让它加了几个1,: 在这里插入图片描述 然后现在我们切换了Right组件,当我们再切换回来的时候,Left组件不再是之前我们写到的7了: 在这里插入图片描述 这就是组件无法保持状态,加上keep-alive即可: 在这里插入图片描述 keep-alive可以把内部的组件进行缓存,而不是销毁组件。

keep-alive对应的生命周期函数

在这里插入图片描述

keep-alive的include属性

如果不使用这个属性,则默认会把keep-alive包起来的所有组件全部缓存起来。 在这里插入图片描述 同样也还有个exclude,就是选择哪个组件不会被缓存,但是不能同时用。include和exclude只能选一个。

拓展一个组件名称的小知识点

如果我们的组件在向外导出时就指定了自己的名字,那么组件的名称就是name属性的值。 在这里插入图片描述

插槽

什么是插槽

其实这个作为初学者来说,我们很少在实际开发中会用到这个东西。因为这个东西都是那些封装组件的人他们会频繁用到这个东西。所以这个我们会用就行了,所以这里我就只截了图,没有详细分析去怎么使用(毕竟我是后端程序员)。 在这里插入图片描述

基础用法

在这里插入图片描述

没有预留插槽的内容会被丢弃

在这里插入图片描述

后备内容

在这里插入图片描述

具名插槽

在这里插入图片描述

为具名插槽提供内容

在这里插入图片描述

具名插槽的简写形式

在这里插入图片描述

作用域插槽

在这里插入图片描述

使用作用域插槽

在这里插入图片描述

解构插槽Prop

在这里插入图片描述

自定义指令

vue 官方提供了 v-text、v-for、v-model、v-if 等常用的指令。除此之外 vue 还允许开发者自定义指令。 这个我感觉应该用的也不多,主攻后端的话就随便了解一下吧,有时间可以再来深究。

自定义指令的分类

在这里插入图片描述

私有自定义指令

在这里插入图片描述

使用自定义指令

在这里插入图片描述

为自定义指令动态绑定传参

在这里插入图片描述

通过binding获取指令的参数值

在这里插入图片描述

update函数

在这里插入图片描述

函数简写

在这里插入图片描述

全局自定义指令

在这里插入图片描述