在子组件中预留一个slot标签,父组件可以在子组件标签中写入文本或者其他标签,这部分内容会显示在子组件中的slot标签的位置
子组件标签Head
<template>
head组件<br />
<slot></slot>
</template><script>
export default{
name:'Head'
}
</script><style>
</style>
父组件Home
<template>
<div class="home">
<Head :title='msg'
@receive="printMsg"
>
Head标签内的文本
</Head>
</div>
</template><script>
import Head from '@/components/Head.vue'export default {
name: 'Home',
components: {Head
}
}
</script>
多个slot时
子组件中有多个slot时,以name属性区分
Head组件
<template>
head组件<br />
<slot></slot><slot name="s1"></slot>
<slot name="s2"></slot>
</template><script>
export default{
name:'Head'
}
</script><style>
</style>
Home组件
<template>
<div class="home">
<Head :title='msg'
@receive="printMsg"
>
Head标签内的文本<template v-slot:s1>
<label>slot1的内容</label>
</template>
<template v-slot:s2>
<label>slot2的内容</label>
</template>
</Head>
</div>
</template><script>
import Head from '@/components/Head.vue'export default {
name: 'Home',
components: {Head
}
}
</script>