vue2 插槽的写法大全

插槽的写法大全

刚做完一个项目,被库里的各种插槽搞的头疼,今天专门总结一下各种写法,不涉及原理。

1.匿名插槽

子组件 test.vue

<div>
<h3>插槽</h3>
<slot></slot>
<slot>当没有使用插槽时,这里可以放置默认内容</slot>
<slot name="text"></slot>
</div>

父组件 App.vue

<Test>
<p>hello</p>
</Test>

注意:多个匿名插槽 默认会将子组件标签中的内容全部渲染到每个匿名插槽

2.具名插槽

子组件 test.vue

<div>
<h3>插槽</h3>
<slot name="text"></slot>
</div>

具名插槽的四种写法

<Test>
写法1
<p slot="text">具名插槽1</p>
写法2
<template slot="text">
<p>具名插槽2</p>
</template>
写法3
<template v-slot:text>
<p>具名插槽3</p>
</template>
写法4
<template #text>
<p>具名插槽4</p>
</template>
</Test>

3.作用域插槽

子组件 test.vue

<div>
<h3>插槽</h3>
<slot name="text" :row="'作用域插槽'"></slot>
</div>

父组件

<Test>
写法1
<template v-slot:text="data">
<div>{{ data.row }}</div>
</template>
写法2
<template #text="{row}">
<div>{{ row }}</div>
</template>
写法3
<template slot="text" slot-scope="data">
<div>{{ data.row }}</div>
</template>
</Test>

需要注意的是,虽然在所有的 2.x 版本中 slot 和 slot-scope  仍被支持。但实际上已经被官方废弃且不会出现在 Vue 3 ,所以这里更推荐小伙伴们使用v-slot替代slot 和 slot-scope指令。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值