主要用于父组件向子组件插入dom:
1.匿名插槽用法:
父组件template:
<counter>hello wrold</counter>
子组件(counter)template:
<div>{{num}}<slot>default value</slot></div>
插入内容后显示插入的内容,不插内容时显示default value
2.具名插槽用法:
父组件template:
<counter>
<template #header>
<div>{{city}}</div>
</template>
<template #footer>
<div>{{num}}</div>
</template>
</counter>
外层包裹一层占位符<template #header> </template>
注:此时插值表达式中渲染的是父组件中的数据!
子组件(counter)template:
template: `
<div>
<slot name='header'></slot>
{{num}}
<slot name='footer'></slot>
</div>
`
3.作用域插槽用法:
父组件template:
<counter>
<template v-slot="{item}">
<div>{{item}}</div>
</template>
</counter>
子组件(counter)template:
<div>
hello wrold
<slot v-for="item in list" :item="item"></slot>
</div>
父模版里调用的数据来自于子组件list中的数据!