VUE---插槽

一、插槽的作用&场景

        1、在封装组件的时候,将可变的结构设计为插槽(<slot></slot>

        2、使用上述组件的时候,可以按需为插槽提供自定义的结构,以达到复用组件且高度自定的效果

二、基本语法 

1、组件内需要自定义的结构部分,改为<slot></slot>占位

2、使用组件时,<MyDialog></MyDialog>标签内部,传入结构替换slot

注:<slot>默认内容</slot>,若MyDialog中不传内容,则会显示slot的默认内容

示例如下:

// MyDialog -- 子组件
<template><div class="dialog"><div class="dialog-header"><h3>友情提示</h3><span class="close">✖ </span></div><div class="dialog-content"><!-- 内容区,内容不固定,用slot占位 --><slot></slot></div><div class="dialog-footer"><button>取消</button><button>确认</button></div></div>
</template>
// 父组件内容如下
<MyDialog><!-- 为插槽提供所需要展示的结构 -->你确认要进行删除操作么?
</MyDialog>

结果如下:

  

三、具名插槽

 一个组件内有多处结构,需要传入外部标签进行定制时,需要使用具名插槽。

语法:

        1、给slot添加name属性,以区分结构

        2、父组件中用<template></template>包裹语句块,配合v-slot:名字,来对应结构位置

注:

        v-slot 可以简写为 #;

        父组件中一定要用<template></template>;

        默认的slot插槽的名字为default;

 示例如下:

<!-- 子组件内容如下 -->
<div class="dialog-header"><slot name="head"></slot>
</div>
<div class="dialog-content"><slot name="content"></slot>
</div>
<div class="dialog-footer"><slot name="footer"></slot>
</div>

 

<!-- 父组件内容如下v-slot == #-->
<MyDialog><template #head>大标题</template><template #content>内容文本</template><template v-slot:footer><button>按钮</button></template>
</MyDialog>

结果如下:

 

四、作用域插槽 

        有时候,子组件在定义插槽的时候,需要向父组件传递一些数据,这样的插槽叫做作用域插槽。

使用步骤:

        (1)给子组件的slot标签,以添加属性的方式传值

        (2)所有的属性都会被收集到一个对象中

        (3)父组件的template中,利用#插槽名="obj" 接收

注:

        传递的属性不能叫name,name是插槽的名字;

        作用域插槽只能在当前的template中使用;

示例如下:

<!-- 子组件 -->
<slot uname="Tom" age="18"></slot>
<!-- 父组件 -->
<template #default="obj"><p>显示内容{{obj}}</p>
</template>
<!-- 父组件接收数据时,可以直接解构使用,#default="{ uname, age }"; -->
<template #default="{ uname, age }"><p>{{uname}} {{age}}</p>
</template>

结果如下:

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

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

相关文章

Java设计模式中的单例模式

Java设计模式中的单例模式 单例模式是一种创建型设计模式&#xff0c;其目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点。 单例模式的两种不同方式 饿汉式单例模式&#xff1a; public class SingletonEager {private static final SingletonEager instanc…

帝国cms使用手机号单篇付费下载的关键代码实现以及代码引用

#小李子9479# #帝国cms# 1。从服务器下载文件php代码 2。前端集成 a)需要一个下载的链接&#xff0c;只要包含button_down这个class即可&#xff0c;即可以为<div class"button_down" data-classid"[!--classid--]" data-infoid"[!--id--]"…

【DeepLearning-1】 注意力机制(Attention Mechanism)

1.1注意力机制的基本原理&#xff1a; 计算注意力权重&#xff1a; 注意力权重是通过计算输入数据中各个部分之间的相关性来得到的。这些权重表示在给定上下文下&#xff0c;数据的某个部分相对于其他部分的重要性。 加权求和&#xff1a; 使用这些注意力权重对输入数据进行加权…

代码随想录算法训练营29期|day28 任务以及具体安排

93.复原IP地址 class Solution {List<String> result new ArrayList<>();public List<String> restoreIpAddresses(String s) {StringBuilder sb new StringBuilder(s);backTracking(sb, 0, 0);return result;}private void backTracking(StringBuilder s,…

使用github作为docker镜像存储仓库

使用github作为docker镜像存储仓库 docker因为其便利性和隔离性已经成为日常开发中非常常见的技术&#xff0c;使用docker可以把我们的编译开发环境打包&#xff0c;在任何机器上只要把docker镜像来取下来运行&#xff0c;不需要重复搭建编译开发环境。 使用过docker的用户都…

理解Nacos是如何实现动态配置的

一、关键步骤 Nacos&#xff08;阿里巴巴开源的分布式配置中心和服务发现系统&#xff09; 实现动态配置的主要思想是通过监听机制和发布/订阅模式来实现配置的实时更新。 以下是 Nacos 实现动态配置的关键步骤&#xff1a; 配置数据存储&#xff1a; Nacos 将配置数据存储在持…

Linux中静态库和动态库的使用

库的概念 介绍&#xff1a; 库是一个二进制文件&#xff0c;包含的代码可被程序调用 标准C库、数学库、线程库… 库有源码&#xff0c;可下载后编译;也可以直接安装二进制包 位置一般放在&#xff1a;/lib /usr/lib库的知识 库是事先编译好的&#xff0c;可以复用的代码 在os上…

Halcon基于组件的模板匹配create_trained_component_model

Halcon基于组件的模板匹配 基于组件的模板匹配可以包含多个ROI&#xff0c;每个区域对应一个组件&#xff0c;并且组件之间还可以发生相 对位置关系变化。因此&#xff0c;该方法的难点就在于确定组件之间的相对位置关系。其步骤如下。 &#xff08;1&#xff09;提取组件的RO…

properties 属性配置文件

properties 属性配置文件 一、properties 文件的书写要求二、properties 属性配置文件的读取1.Properties 类(1) Properties 类的常用方法 2.通过 IO 流的方式读取 properties 文件&#xff08;可移植性差&#xff09;3.如何获取类路径下的文件的绝对路径&#xff08;通用的方式…

输入某年某月某日,判断这一天是这一年的第几天?(Java)

思路&#xff1a; 1&#xff0c;分别定义三个变量来接收 年 月 日 2&#xff0c;累加已经过完的月份的天数 日期 3&#xff0c;二月份的天数要根据是否是闰年&#xff0c;随之改变 1 3 5 7 8 10 12 ---> 31天 4 6 9 11 ---> 30天 2 ---> 闰…

== 和 equals:对象相等性比较的细微差别

和 equals&#xff1a;对象相等性比较的细微差别 既要脚踏实地于现实生活&#xff0c;又要不时跳出现实到理想的高台上张望一眼。在精神世界里建立起一套丰满的体系&#xff0c;引领我们不迷失不懈怠。待我们一觉醒来&#xff0c;跌落在现实中的时候&#xff0c;可以毫无怨言地…

鸿蒙原生应用遍地开花,中小开发者能否分到一杯羹?

2023年对于华为鸿蒙来说&#xff0c;是颇具转折意义的一年&#xff0c;年初还挣扎在生死线上&#xff0c;年末已然渡过了万重山&#xff0c;开始踏上万里路。 时间回到2022年的12月&#xff0c;Strategy Analytics研究报告显示&#xff0c;2022年华为鸿蒙HarmonyOS手机全球市场…

REVIT二次开发 自动门窗墙体标注

步骤1 步骤2 步骤3 using System; using System.Collections.Generic; using System.Linq; using System

用户资源(菜单)控制学习使用

效果图 第一步 需要再定义常量资源 //信访听证 资源前缀public static final String RESPREFIX_MODULE_XINFTZ_"module_xinftz_";//听证专家库public static final ConstantItem RES_MODULE_XINFTZ_TINGZZJK new ConstantItem(RESPREFIX_MODULE_XINFTZ_ "tin…

【LeetCode】每日一题 2024_1_22 最大交换(模拟)

文章目录 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01;题目&#xff1a;最大交换题目描述&#xff1a;代码与解题思路 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 几百年没有见到题目描述这么短的题目了&#xff0c;泪目了 题目&#x…

计算机缺失msvcp110.dll如何修复?只需学会这个5个方法,轻松解决dll问题

丢失msvcp110.dll文件可能会引发一系列广泛的问题&#xff0c;这个动态链接库文件对于Windows操作系统中某些应用程序的正常运行至关重要。当msvcp110.dll缺失时&#xff0c;用户可能会遭遇如程序无法启动、运行过程中突然崩溃、功能受限或完全失效等现象。具体来说&#xff0c…

蓝桥杯真题(Python)每日练Day4

题目 OJ编号2117 题目分析 第一种先采用暴力的思想&#xff0c;从第一根竹子开始&#xff0c;找到连续的高度相同的竹子&#xff0c;砍掉这些竹子&#xff0c;一直循环这个方法&#xff0c;直到所有的竹子高度都为1。很明显&#xff0c;依次遍历竹子的高度复杂度为O&#x…

air001研究笔记.基于arduino快速开发简单项目

一、air001芯片简介 air001是厂商合宙推出的一款tssop封装的mcu芯片。支持swd与串口烧录&#xff0c;多面向简单的功能简单类别的电子产品&#xff0c;因为官方文档齐全上手简易&#xff0c;所以也特别适合非专业爱好者乃至于幼儿编程。芯片内置资源&#xff1a;AIR001芯片数据…

智能小程序环境配置流程

App 与智能小程序 在用户使用 App 扫描小程序的二维码或者点击设备&#xff0c;尝试进入小程序时&#xff0c;系统会对 App 当前环境与小程序所需运行环境进行比对&#xff0c;确定环境配置兼容后&#xff0c;App 才能启动并运行小程序。 比对规则中&#xff0c;主要涉及&…

撤销 Commit 的提交的两种方式

已经将 commit 提交到了 GitHub 之上&#xff1a; 进行以下操作&#xff0c;需保证 stash 列表中有刚才提交的修改 首先&#xff0c;在本地回退版本&#xff0c;使用如下命令&#xff1a; git reset --hard HEAD^ ^ 的个数表示回退几个版本&#xff0c;^^ 表示回到上上个版本。…