Vue学习计划-Vue2--VueCLi(六)插槽、过渡

写在最前:父组件引用子组件,如何能在应用子组件内容的同时,还能在自定义内容呢?

1. 插槽

  1. 作用: 让父组件可以向子组件指定位置插入html结构,也是一种组件通信的方式,适用于父组件===>子组件
  2. 分类: 默认插槽,具名插槽,作用域插槽
  3. 使用方式:
    1. 默认插槽
    父组件中:<MyContainer><div>html结构</div>
    </MyContainer>子组件中:
    <template><div><!-- 定义插槽 --><slot>插槽默认内容</slot></div>
    </template>
    
    1. 具名插槽
    父组件中:<MyContainer><template slot="content"><div>html结构</div></template><template v-slot:content><div>html结构</div></template>
    </MyContainer>子组件中:
    <template><div class="container"><!-- 具名插槽 --><slot name="content">插槽默认内容</slot><slot name="footer">插槽默认内容</slot></div>
    </template>
    
    1. 作用域插槽
      1. 理解:数据在组件自身,但根据数据生成的结构需要组件的使用者来决定。
      2. 具体编码:
    父组件:<template slot-scope="list"><h3  v-for="(item,index) in list.data" :key="index">{{ item }}</h3>
    </template>子组件:
    <template><div><slot :data="fineList"></slot></div>
    </template>
    <script>
    export default {data(){return {fineList: [ 'node', 'yarn', 'npm', 'cnpm']}}
    }</script>
    

示例:准备两个组件:父组件App.vue,子组件MyContainer.vue
1. 父组件App.vue内:
在这里插入图片描述
2. 子组件MyContainer.vue内:
在这里插入图片描述
3. 运行效果:
在这里插入图片描述

2. 过渡

  1. 作用:在插入、更新或移除DOM时,在合适的时候给元素添加样式类名
  2. 写法:
    1. 准备好样式:
      • 元素进入的样式
        1. v-enter:进入的起点
        2. v-enter-active:进入过程中
        3. v-enter-to: 进入的终点
      • 元素离开的样式:
        1. v-leave:离开的起点
        2. v-leave-active:离开过程中
        3. v-leave-to: 离开的终点
    2. 使用<transition>包裹要过渡的元素,并配置name属性
      示例:
    <transition name="show"><h1 v-show="flag">showContent</h1>
    </transition>
    <style>.anmi-enter {opacity: 0;}.anmi-enter-active {transition: all 1s;}.anmi-enter-to {opacity: 1;}.anmi-leave {opacity: 1;}.anmi-leave-active {transition: all 1s;}.anmi-leave-to {opacity: 0;}
    </style>
    
    1. 备注:若有多个元素需要过渡,则需要使用<transition-group>,且每个元素都有指定key
      示例:
<template><div><TransitionGroup name="anmi" tag="ul" class="list"><li v-for="item in list" :key="item.id">{{ item.name }}<button @click="list.pop()">删除</button></li></TransitionGroup><button @click="list.push({ id: list.length, name: list.length + '小' })">添加</button></div>
</template>
<script>export default {data() {return {list: [{ id: 0, name: "小明" },{ id: 1, name: "小红" },{ id: 2, name: "小白" },],};},};
</script>
<style>.anmi-enter-active {animation: move 1.5s;}.anmi-leave-active {animation: move 1.5s reverse;}@keyframes move {0% {opacity: 0;}100% {opacity: 1;}}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/276550.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础算法(3):排序(3)插入排序

1.插入排序实现 插入排序的工作原理是&#xff1a;通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已经排序的序列从后向前扫描&#xff0c;找到位置并插入&#xff0c;类似于平时打扑克牌时&#xff0c;将牌从大到小排列&#xff0c;每次摸到一张牌就插入到正确的位…

弹性搜索引擎Elasticsearch:本地部署与远程访问指南

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、Cpolar杂谈 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装…

柯桥西班牙语里最“好用”的脏话:一些关于cojones的表达

Creo que una de las palabras con ms contextos donde se puede utilizar y que adems pronto es conocida por los estudiantes de espaol es esta que est en el ttulo. 相信标题中的这个单词“cojones”&#xff0c;使用时总是包含很多含义&#xff0c;同时也是西语学习者最…

VBA快速填充缺失数据

实例需求&#xff1a;数据表中F列中存在数据缺失&#xff0c;如下图所示。现需要根据A列中的内容&#xff08;类别&#xff0c;图中C1、C2、B1为不同类别&#xff09;&#xff0c;补充F列数据&#xff0c;已知每个类别中F列存在不少于一个非空单元格&#xff0c;并且其内容相同…

MPC814 DIP4封装交流输入光电晶体管耦合器

晶体管光电耦合器是一种将光信号转换为电信号的器件&#xff0c;其工作原理是通过光电二极管将光信号转换为电流信号&#xff0c;然后经过晶体管放大&#xff0c;输出相应的电压信号&#xff1b;具有高转换效率较高的灵敏度和快速响应等特点。 由工采网代理的MPC814系列结合了两…

Linux 非阻塞网络IO模式

非阻塞网络IO模式介绍 当用户线程发起一个 read 操作后&#xff0c;并不需要等待&#xff0c;而是马上就得到了一个结果。如果结果是一个 error 时&#xff0c;它就知道数据还没有准备好&#xff0c;于是它可以再次发送 read 操作。一旦内核中的数据准备好了&#xff0c;并且又…

Android笔记(十八):面向Compose组件结合Retrofit2和Rxjava3实现网络访问

一、Retrofit2 Square公司推出的Retrofit2库&#xff08;https://square.github.io/retrofit/&#xff09;&#xff0c;改变了网络访问的方式。它实现了网络请求的封装。Retrofit库采用回调处理方式&#xff0c;使得通过接口提交请求和相应的参数的配置&#xff0c;就可以获得…

安装2023最新版Java SE 21.0.1来开发Java应用程序

安装2023最新版Java SE 21.0.1来开发Java应用程序 Install the latest version of Java SE 21.01 to Develop Java Applications By JacksonML 本文简要介绍如何下载和安装2023年最新版Java Development Kit (简称JDK&#xff0c;即Java开发工具包标准版&#xff09;21.0.1&…

开发人员必须掌握的几个高级命令

xargs命令 在平时的使用中,我认为 xargs 这个命令还是较为重要和方便的。我们可以通过使用这个命令,将命令输出的结果作为参数传递给另一个命令。 比如说我们想找出某个路径下以 .conf 结尾的文件,并将这些文件进行分类,那么普通的做法就是先将以 .conf 结尾的文件先找出…

通过51单片机控制SG90舵机按角度正反转转动

一、前言 本文介绍如何通过51单片机控制SG90舵机实现角度的正反转转动。SG90舵机是一种常用的微型舵机&#xff0c;具有体积小、重量轻、结构简单等特点&#xff0c;被广泛应用于机器人、遥控模型和各种自动控制系统中。 使用51单片机&#xff08;STC89C52&#xff09;作为控…

RPM包管理_YUM

8.1 RPM包管理 8.1.1 RPM概述 RPM Package Manager (原Red Hat Package Manager&#xff0c;现在是一个递归缩写&#xff09; ​ 由Red Hat公司提出&#xff0c;被众多 Linux 发行版所采用也称二进制( binary code) 无需编译,可以直接使用 ​ 无法设定个人设置&#xff0c;开…

在 Windows PC 上轻松下载并安装 FFmpeg

FFmpeg 是一种开源媒体工具&#xff0c;可用于将任何视频格式转换为您需要的格式。该工具只是命令行&#xff0c;因此它没有图形、可点击的界面。如果您习惯使用常规图形 Windows 程序&#xff0c;安装 FFmpeg 一开始可能看起来很复杂&#xff0c;但不用担心&#xff0c;它;很简…