【Vue】默认插槽

本文详细介绍了Vue中的插槽机制,包括默认插槽、具名插槽和作用域插槽的使用方法。通过案例展示了如何利用插槽实现父组件向子组件传递内容,并在组件内部指定位置展示。同时,讨论了在处理单个图片展示时遇到的问题及解决方案,强调了插槽在处理动态内容和组件复用中的重要性。
摘要由CSDN通过智能技术生成

要点:

slot 插槽

<slot>插槽:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,
适用于 父组件 ===> 子组件
1、分类:默认插槽、具名插槽、作用域插槽
2、使用方式:
        a、默认插槽

父组件中:
        <Category>
           <div>html结构1</div>
        </Category>
子组件中:Category
        <template>
            <div>
               <!-- 定义插槽 -->
               <slot>插槽默认内容...</slot>
            </div>
        </template>

小案例:

简单的实现

但是现在如果在进行单个图片的展示

如果直接改的话, 就会一起都改了

如果用 v-show 来解决代码就会很乱而且万一需求多了就不好处理

解决办法

在组件标签里面写标签体内容

但是如果这样写发现没有出现图片

此时 vue 时解析了的只是不知道要往组件里哪放所以干脆就不放, 所以我们必须在组件里写一些东西告诉 vue 往这放

写入 slot 标签(插槽)告诉 vue 你前面写的组件标签里面的标签体体往这放

而且还可以传递一些默认值

当不传时

就会显示 slot 标签里面的文字, 如果传就会显示组件标签里面的内容

当放入的视频不能播放时在 video 标签上加上 control

注意:

这三个标签最终都是塞到了 category 组件里的 slot 标签里的

而这个组件标签里面的标签体是在 app 解析完之后才塞进 category 组件里的 slot 标签里的

也就是说, 可以把这些内置标签的样式写在 app.vue 的 style 样式里, 用于控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值