复习作用域插槽

组件可以被插入些许节点作为其子节点,插槽<slot>就是一个接口(或桥梁)引导这些节点进入组件。这些节点应该被渲染到组件里的具体哪个位置,就是具名插槽的作用。

就像是给手机冲点的充电头和插座(接口),手机总得收到电,而这里的电就是从插座里得来的,即作用域插槽的作用。对于组件来说,组件内部定义的数据无法向上传递给父组件调用。请看下面:

定义组件 MyComponent.vue,插槽<slot>绑定两个属性:

<template>
<div class="my-component">
<slot :text="greetingMessage" :count="num"></slot>
</div>
</template>

这里的 App.vue 就是组件 MyComponent 的父组件,父组件得到从子组件插槽向上传递过来的值该如何使用?请看下面:

<template>
<MyComponent v-slot="slotProps">
<span class="count">Count: {{ slotProps.count }}</span>
<span class="message">Message: {{ slotProps.text }}</span>
</MyComponent>
</template>

在子组件中使用v-slot指令获得数据,在插槽上绑定的数据全都被装载进了一个对象里,也就是说在子组件中定义的所有变量都直接当作了一个对象传递给了 slotProps。观察下图:

解构插槽数据

ES6 中解构赋值可以对对象进行解构,解构 slotProps 如下:

<MyComponent v-slot="{ text, count }">
<!-- ...... -->
<span class="message">Message: {{ text }} : {{ count }}</span>
</MyComponent>

路由组件的过渡效果

1️⃣用内置组件<Transistion>包裹路由组件:

<router-view v-slot="{ Component: widget }">
<Transition name="fade">
<component :is="widget" />
</Transition>
</router-view>

2️⃣通过解构赋值得到Component对象,并重命名为 widget。再把widget传递给组件<component>

3️⃣添加过渡各个阶段的 CSS 样式:

.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s ease;
} .fade-enter-from,
.fade-leave-to {
opacity: 0;
}

02#Vue3 Transition 过渡:切换路由组件的更多相关文章

  1. vue3.0-如何切换路由-路由模式ts

    如何更换路由模式 vue3版本如何切换路由模式?(注:更改后要重启下项目才能看到效果.) 博主,我搜了大半天的,你是怎么找到的? 如下图可看到

  2. Vue3 Transition 过渡效果之切换路由组件

    复习作用域插槽 组件可以被插入些许节点作为其子节点,插槽<slot>就是一个接口(或桥梁)引导这些节点进入组件.这些节点应该被渲染到组件里的具体哪个位置,就是具名插槽的作用.就像是给手机冲 ...

  3. Vue3 Transition 过渡效果之基于 CSS 过渡

    介绍 Transistion 路由组件的切换.动态组件的切换.v-if 条件渲染组件以及 v-show 显示组件原本是没有任何过渡(CSS 动画)效果的.然而,Vue 的内置组件<Transit ...

  4. vue 2.0 路由切换以及组件缓存源代码重点难点分析

    摘要 关于vue 2.0源代码分析,已经有不少文档分析功能代码段比如watcher,history,vnode等,但没有一个是分析重点难点的,没有一个是分析大命题的,比如执行router.push之后 ...

  5. 067——VUE中vue-router之使用transition设置酷炫的路由组件过渡动画效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 基于 React 实现一个 Transition 过渡动画组件

    过渡动画使 UI 更富有表现力并且易于使用.如何使用 React 快速的实现一个 Transition 过渡动画组件? 基本实现 实现一个基础的 CSS 过渡动画组件,通过切换 CSS 样式实现简单的 ...

  7. vue + element-ui 制作tab切换(切换vue组件,踩坑总结)

    本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件. 1.vue如何使用element-ui 上一篇文章已经分享了如何在vue中使用eleme ...

  8. Vue路由组件vue-router

    一.路由介绍 Creating a Single-page Application with Vue + Vue Router is dead simple. With Vue.js, we are ...

  9. 视图家族 & 路由组件

    目录 视图家族 & 路由组件 视图集与路由组件 基于 GenericAPIView 的十大接口 基于 generics 包下工具视图类的六大基础接口 视图集 路由组件:必须配合视图集使用 自定 ...

  10. 基于AOP和HashMap原理学习,开发Mysql分库分表路由组件!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 什么?Java 面试就像造火箭 单纯了! 以前我也一直想 Java 面试就好好面试呗 ...

随机推荐

  1. Map的遍历方式,常用的key-value遍历方式

    在开发过程中经常会遇到 map 的遍历,本文将会介绍四种常用的 key-value 遍历方式 说明: 增强 for 循环遍历 先取出 map 的 keySet,进行遍历,再取出对应 key 的 val ...

  2. aiohttp、asyncio使用协程增加爬虫效率

    import aiohttp import asyncio import time async def get_requests(url): async with aiohttp.ClientSess ...

  3. 视图 触发器 事务 MVCC 存储过程 MySQL函数 MySQL流程控制 索引的数据结构 索引失效 慢查询优化explain 数据库设计三范式

    目录 视图 create view ... as 触发器 简介 创建触发器的语法 create trigger 触发器命名有一定的规律 临时修改SQL语句的结束符 delimiter 触发器的实际运用 ...

  4. MySQL存储 pymysql模块

    目录 pymysql模块 基本使用 cursor=pymysql.cursors.DictCursor 获取数据 fetchall 移动光标 scroll 增删改二次确认 commit autocom ...

  5. 搭建漏洞环境及实战——在Linux系统中安装LANMP

    LANMP是Linux下Apache.Nginx.mysql和php的应用环境 演示的是WDLinux 命令:wget http://dl.wdlinux.cn/files/lamp_v3.tar.g ...

  6. 【机器学习】李宏毅——Unsupervised Learning

    读这篇文章之间欢迎各位先阅读我之前写过的线性降维的文章.这篇文章应该也是属于Unsupervised Learning的内容的. Neighbor Embedding Manifold Learnin ...

  7. javascript计算器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. [深度学习] tf.keras入门4-过拟合和欠拟合

    过拟合和欠拟合 简单来说过拟合就是模型训练集精度高,测试集训练精度低:欠拟合则是模型训练集和测试集训练精度都低. 官方文档地址为 https://tensorflow.google.cn/tutori ...

  9. Nexus私有maven库部署和使用

    原文地址:Nexus私有maven库部署和使用 - Stars-One的杂货小窝 前段圣诞节前后,Jitpack网站突然崩溃了,无法下载依赖,然后过了一个星期才解决了,好在没啥紧急的Android开发 ...

  10. Django推导流程,Django模块的下载和基本使用、Django的应用和目录结构讲解、Django三板斧

    今日内容 纯手撸web框架 1.web框架的本质: 理解1:连接前端与数据库的中间介质 理解2:socket服务端 2.手写web框架: 1.编写socket服务端代码 import socket s ...