# vue源码 插槽

# 基本用法

<template>
  <div class="apps">
    <inner>
      <template 
      v-slot:test1> test1 </template>
    </inner>

    <inner>
      <template 
     v-slot:test2="slotProps"
    > {{slotProps.in_data}} </template>
    <!-- 接收inner外传的数据 -->
    </inner>
  </div>
</template>


<script>
import inner from "./inner";
export default {
  name: "outer",
  components: {
    inner,
  },
};
</script>

//子
<template>
  <div class="child">
    <slot></slot>
    <!-- test 去到了slot里面 -->
    <slot name="test1"></slot>
    
    <slot name="test2" :in_data="in_data"></slot>


    <button type="submit">
      <slot name="btn">Submit</slot>
    </button>

  </div>
</template>

<script>
export default {
  name: "inner",
  data:()=>{
      return{
          in_data:'yiki'
      }
  }
};

// 结果
<div class="apps">
<div class="child">  test1   
<button type="submit">Submit</button>
</div> <div class="child">  
 yiki  
 <button type="submit">Submit</button>
 </div>
 </div>

Last Updated: 2021/9/26 下午12:23:31