网站首页 > 技术文章 正文
我们知道vue项目通常由多个组件构成。然而在使用父子组件的时候,总想在父组件中自定义一些标签来插入到内部子组件中,而在vue2.1.0+新增了一种插槽机制。
插槽子组件中给你的HTML模板占了一个位置。插槽又分为 匿名插槽、具名插槽、作用域插槽。
1.匿名插槽
当slot没有指定name属性值的时候,它隐藏的name属性为default。一个组件内只有有一个匿名插槽。
父组件:
<template>
<div>
<h2>我是父组件</h2>
<child>
<p>我是默认的插槽</p>
</child>
</div>
</template>
子组件: child.vue
<template>
<div>
<div>我是子组件</div>
<slot></slot>
</div>
</template>
2.具名插槽
具名插槽就是给插槽进行命名。父组件在调用的时候,可以使用v-slot绑定名称从而实现对应,v-slot也可以缩写为# 。
子组件:
<template>
<div class="nav-bar">
<!-- <slot name="default"></slot> -->
<div class="left">
<slot name="left1"></slot>
</div>
<div class="center">
<slot name="center1"></slot>
</div>
<div class="right">
<slot name="right1"></slot>
</div>
</div>
</template
父组件:
<template>
<div>
<my-slot-cpn1>
<template v-slot:left1>
<button>左边按钮</button>
</template>
<template #center1>
<button>我是中间按钮</button>
</template>
<template #right1>
<button>右边按钮</button>
</template>
</my-slot-cpn1>
</div>
3.作用域插槽
当你想在一个插槽中使用数据时,就要使用作用域插槽的方式。
为了让 子组件中的数据 在父级的插槽 内容中可用我们可以将 数据 作为 元素的一个特性绑定上去: v-bind:text="text"。
注意:
匿名的作用域插槽和具名的作用域插槽 区别在v-slot:defult="接受的名称"(defult(匿名的可以不写,具名的相反要写的是对应的name))
v-solt可以解构接收 解构接收的字段要和传的字段一样才可以 例如 :one 对应 v-slot="{one}"
猜你喜欢
- 2024-12-17 时隔多年,VitePress 终于迎来了 v1.0 !
- 2024-12-17 GFast V3.2.1 版本发布,采用 GoFrame 2.3 + Vue3 后台管理系统
- 2024-12-17 Web3系列教程之入门篇——1:了解React (Next.js)
- 2024-12-17 表单设计器1.3.0 新版发布,自定义表单支持数据源配置
- 2024-12-17 程序汪1万接的企业官网项目,开发周期15天
- 2024-12-17 详解HTML5培训课程行业标准 h5制作培训
- 2024-12-17 被广泛使用的OAuth2.0的密码模式已经废了,放弃吧
- 2024-12-17 Vue3 企业级优雅实战 - 组件库框架 - 1 搭建 pnpm monorepo
- 2024-12-17 【Vue3】保姆级毫无废话的进阶到实战教程 - 01
- 2024-12-17 uniapp入门到进阶(必备知识扩展-1) - vue3你不知道的那些事
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)