vue中插槽slot的简单用法

本文介绍了 Vue.js 中如何使用 slot 进行内容分发。在父组件中定义模板,然后在子组件相应位置插入。未指定名称的 slot 将默认接收父组件未包裹的内容,若子组件未定义则内容不显示。同时,我们还探讨了具名插槽的使用,包括 v-slot: 的简写形式 #。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

父组件中定义好使用的模板

<template v-slot:extraPath>
          <span class='extra-path' v-if='active==0'> (填写转账信息)</span>
          <span class='extra-path' v-if='active==1'> (确认转账信息)</span>
          <span class='extra-path' v-if='active==2'> (完成转账)</span>
        </template>

 

子组件中在需要的位置插入

<slot name="extraPath"></slot>

如果父组件引用子组件中存在没有被包裹在具体名称的模板中的内容,会默认插入没有名称的插槽中,如果没有这个插槽,内容不会显示

完整父组件调用子组件代码

<head-info  path-list=' / 表单页 / 分步表单 / ' current-path=' 分步表单'>
        <template v-slot:extraPath>
          <span class='extra-path' v-if='active==0'> (填写转账信息)</span>
          <span class='extra-path' v-if='active==1'> (确认转账信息)</span>
          <span class='extra-path' v-if='active==2'> (完成转账)</span>
        </template>
          <p class="bold">分步表单</p>
          <p>讲一个冗长或用户不熟悉的表单任务分成多个步骤,指导用户完成</p>
        </head-info>

完整子组件代码

<template>
  <div class="header-content">
    <p><span> <i @click='gohome("/dashboard/analysis")'><router-link to="/dashboard/analysis">首页</router-link> </i> {{pathList}} </span> {{currentPath}}
      <slot name="extraPath"></slot>
     </p>
    <slot></slot>
  </div>
</template>
<script>
export default {
  props: ['pathList', 'currentPath'],
  methods: {
    gohome (url) {
      this.$bus.$emit('gohome', url)
    }
  }
}
</script>

具名插槽v-slot:可以简写为#

 

完成样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值