【Vue3】默认插槽

news2024/12/26 11:36:02

【Vue3】默认插槽

  • 背景
  • 简介
  • 开发环境
  • 开发步骤及源码

背景

随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文内容并非完全原创,大多是参考其他文章资料整理所得,感谢每位技术人的开源精神。

简介

本文介绍 Vue3 中如何默认插槽。

在封装组件时可能存在需要动态展现的内容区域,即组件中某一内容区域在组件定义时并不能确定展现内容,只有当组件被引用时才由父组件指定要展现的内容。Vue 提供插槽(<slot>)作为动态展现内容区域的占位符,父组件可以在此占位符区域内填充具体的展现内容。

Vue 中的插槽包含三类:

  • 默认插槽
  • 具名插槽
  • 作用域插槽

开发环境

分类名称版本
操作系统WindowsWindows 11
IDEVisual Studio Code1.91.1

开发步骤及源码

1> 创建 Vue3 工程,参考:【Vue3】工程创建及目录说明。

2> 删除 src 目录下 assetscomponents 目录。

3> 修改 src 目录下 main.ts

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

4> 自定义带插槽的功能组件。

<template>
    <div class="store">
        <h2>带插槽的功能组件</h2>
        <slot></slot>
    </div>
</template>

<script setup lang="ts">
</script>

<style scoped lang="scss">
.store {
    background-color: green;
    box-shadow: 0 0 10px;
    color: white;
    padding: 10px;
    width: 300px;
}
</style>

注意:需要执行 npm install -D sass 命令安装 CSS 预处理器。

5> 修改 Vue 根组件 src/App.vue,引用自定义功能组件。

<template>
  <div class="root">
    <h1 ref="title">App组件</h1>
    <div class="stores">
      <Store>
        <ul>
          <li v-for="film in films" :key="film.id">{{ film.name }}</li>
        </ul>
      </Store>
      <Store>
        <ol>
          <li v-for="film in films" :key="film.id">{{ film.name }}</li>
        </ol>
      </Store>
      <Store>
        <h4 v-for="film in films" :key="film.id"># {{ film.name }}</h4>
      </Store>
    </div>
  </div>
</template>

<script setup lang="ts">
import Store from './components/Store.vue'
import { reactive } from 'vue'

const films = reactive([
  { id: '001', name: '哈利波特与魔法石'},
  { id: '002', name: '哈利波特与密室'},
  { id: '003', name: '哈利波特与阿兹卡班的囚徒'},
  { id: '004', name: '哈利波特与凤凰社'},
])
</script>

<style scoped lang="scss">
.root {
  background-color: orange;
  box-shadow: 0 0 10px;
  padding: 20px;
  h1 {
    text-align: center;
  }
  .stores {
    display: flex;
    justify-content: space-evenly;
  }
}
</style>

6> 执行命令 npm run dev 启动应用,浏览器访问:http://localhost:5173/
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习c语言第18天(字符串和内存函数)

1.函数介绍 1.1 strlen size_t(就是无符号整形) strlen(const char * str); 字符串已经\0作为结束标志&#xff0c;strlen函数返回的是在字符串中\0前面出现的字符个数(不包 含\0) 参数指向的字符串必须要以\0结束。 注意函数的返回值为size_t&#xff0c;…

Java并发—Java内存模型以及线程安全

目录 一、Java内存模型 JMM的核心概念 二、什么是线程安全&#xff1f; 1、原子性 2、有序性 3、可见性 三、如何确保线程安全&#xff1f; 1、sychronized关键字 2、Lock接口和其实现 3、volatile关键字 4、Atomic原子类 5、ThreadLocal 6、不可变对象 7、并发集…

电商数据采集封装API的详细步骤分享(API测试实例)

在当今的电商行业中&#xff0c;数据采集已成为企业获取市场洞察、优化运营策略、提升用户体验的重要手段。而封装电商数据采集的API接口&#xff0c;则是将这一复杂过程标准化、模块化的有效方式。本文将详细分享电商数据采集封装API的步骤&#xff0c;并通过一个实际的API测试…

努力努力努力的第十四天(2024.7.31)

昨天日期写错了写成2020.7.30,应该是2024.7.31&#xff08;手滑了哈哈哈&#xff09; 1.行列转换 效果演示&#xff1a; 这是未经行列转换操作的t_score表&#xff1a; 这是经过行列转换后的t_score表&#xff1a; 第一步&#xff1a;确定初步的做法 使用分组查询(group by…

20240731在WIN10下数框框的方法【CPU】

20240731在WIN10下数框框的方法【CPU】 2024/7/31 20:14 百度&#xff1a;WINDOWs 10 多核CPU 数框框 win10怎么数框框 1、首先打开win10系统&#xff0c;进入任务管理器。 2、其次点击CPU使用率窗口&#xff0c;鼠标悬停在右边的窗口按右键。 3、最后将图形更改为&#xff1a;…

【计算机网络】http协议的原理与应用,https是如何保证安全传输的

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

优化|高性能模块预测控制求解器

本文介绍的是另外一种针对模块控制MPC问题的一种高效求解方法。High-Performance Small-Scale Solvers for Linear Model Predictive Control&#xff0c;Gianluca Frison, Hans Henrik Brandenborg Srensen, Bernd Dammann, John Bagterp Jrgensen [1]。本文讲了HPIPM的前身&a…

Phalco安装过程以及踩的一些坑(mac环境)

一 背景 公司用Phalcon框架好长时间了,中途发现了一些Phalcon使用的上的问题,于是想在本地搭建一套Phalcon的环境,方便排查问题使用。 二 Mac系统下的安装 看了很多说法,最终发现还是官网给力,安装Phalcon使用下列命令即可(前提条件是PHP已安装好,工具pecl也安装好了):…

2024-07-31 Android studio gradle、sdk、ndk 等路径记录

一、gradle的下载路径&#xff1a;C:\Users\user\.gradle\wrapper\dists 二、NDK下载路径C:\Users\user\AppData\Local\Android\Sdk\ndk 三、SDK下载路径&#xff1a;C:\Users\user\AppData\Local\Android\Sdk\platforms

数据结构的基本概念与算法

数据结构的基本概念与算法 什么是数据&#xff1f; 数据是信息的载体&#xff0c;是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合&#xff1b;总结来说 -> 数据就是计算机程序加工的原料&#xff1b; 数据元素、数据项&#xf…

Python+Vue3+onlyoffice开发私有化文档管理系统实战笔记 20240731

之前进度 表字段设计如下&#xff1a; const columns [{title: 名称,key: name,dataIndex: name,},{title: 类型,key: category,dataIndex: category,},{title: 作者,key: author,dataIndex: author,},{title: 路径,key: path,dataIndex: path,},{title: 最近访问时间,key: l…

【Spark计算引擎----上篇:(全网最详细)带你从零基础通往精通之路】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;我是书生♡&#xff0c;本阶段和大家一起分享和探索大数据技术–spark计算引擎&#xff0c;本篇文章主要讲述了&#xff1a;spark的概念&#xff0c;spark的起源&#xff0c;Spark的计算框架&#xff0c;Spark组…

Python爬虫入门03:用Urllib假装我们是浏览器

文章目录 引言Urllib库简介Request模块详解Error模块与异常处理Parse模块与URL解析Robotparser模块 模拟浏览器请求使用Request方法添加请求头信息代码示例1. 设置请求URL和请求头2. 定义请求参数并转换为适当的格式3. 使用Request方法封装请求4. 发送请求并获取响应 常用使用方…

项目实战_表白墙(升级版)

你能学到什么 表白墙&#xff08;升级版&#xff09;Mybatis的一些简单应用 正文 前⾯的案例中, 我们写了表⽩墙, 但是⼀旦服务器重启, 数据就会丢失. 要想数据不丢失, 需要把数据存储在数据库中&#xff0c;接下来咱们借助MyBatis来实现数据库的操作。 数据准备 如果我们…

Linux-用户和用户组管理

用户管理 创建 useradd USERNAME&#xff08;名字&#xff09; [rootlocalhost ~]# useradd bao 创建指令 怎么判断创建成功与否&#xff08;是否报错&#xff09; 观察是否报错可行但用变量的方式判断会更加直观 [rootlocalhost ~]# echo $? 变量 什么是变量&…

Vant2框架tab切换list不加载问题(切换后onload不继续触发)

遇到的问题&#xff1a; van-list 加载&#xff0c;页面上有个切换的 van-tab&#xff0c;实现切换不同的类型&#xff0c;加载不同的list的功能。 Vant2 的 List 列表 就有个 bug&#xff0c;当切换 tab 的时候&#xff0c;它的 onload 没有自动触发。 然而在当前标签页&#…

AMD第二季度财报:数据中心产品销售激增,接近总收入一半

#### 财报亮点 7月30日&#xff0c;AMD公布了截至6月29日的第二季度财务业绩&#xff0c;利润超过了华尔街的预期。根据TechNews的报道&#xff0c;最值得注意的是&#xff0c;AMD现在近一半的销售额来自于数据中心产品&#xff0c;而非传统的PC芯片、游戏主机或是工业与汽车嵌…

IDEA打开项目显示在顶端

问题 IDEA打开项目显示在顶端&#xff0c;更改到左侧 解决方案 删除项目中.idea文件,重新打开

【pikachu靶场】跨站脚本攻击详细教程Cross-Site Scripting(xss)

文章目录 XSS&#xff08;跨站脚本&#xff09;概述 1.反射型xss&#xff08;get&#xff09; 2.反射型xss&#xff08;post&#xff09; 3.存储型XSS 4.DOM型xss 5.DOM型XSS-X 6.xss之盲打 7.xss之过滤 8.xss之htmlspecialchars 9.xss之href输出 10.xss之js输出 XSS…

并发编程相关面试题-Synchronized

重量级锁实现的原理 1、synchronized是JVM内置锁&#xff0c;基于Monitor机制实现&#xff0c;依赖底层操作系统的互斥锁Mutex&#xff08;互斥量&#xff09;&#xff0c;它是一个重量级锁、 2、synchronized同步方法是通过方法中的access_flags中设置ACC_SYNCHRONIZED标志来…