什么是插槽?
我们知道,在vue中,引入的子组件标签中间是不允许写内容的。为了解决这个问题,官方引入了插槽(slot)的概念。
插槽,其实就相当于占位符。它在组件中给你的HTML模板占了一个位置,让你来传入一些东西。插槽又分为匿名插槽、具名插槽以及作用域插槽。
匿名插槽
匿名插槽,我们又可以叫它单个插槽或者默认插槽。与具名插槽相对,它不需要设置name属性。
具名插槽
上面已经说过,插槽有一个name属性。与匿名插槽相对,加了name属性的匿名插槽就是具名插槽。跟 v-on 和 v-bind 一样,v-slot 也有缩写,即把参数之前的所有内容 (v-slot:) 替换为字符 #。例如 v-slot:libai 可以被重写为 #libai。
子组件
<template>
<div class="box">
<slot name="libai"></slot>
<div style="color:red">床前明月光,疑是地上霜。</div>
<div style="color:blue">举头望明月,低头思故乡。</div>
</div>
</template>
父组件
<template>
<div class="home">
<son-slot></son-slot>
</div>
</template>
在插槽里面写入内容后
父组件
<template>
<div class="home">
<son-slot>
<template #libai>
<h1>静夜思</h1>
<h3>李白</h3>
</template>
</son-slot>
</div>
</template>
每天学一点,迟早成仙!!!