1. 概述
组件的插槽
是为了让咱们封装的组件更具扩展性
- 让使用者能够决定组件内部的一些内容到底展现什么
2. 插槽的基本使用
- 在
子组件的模板中
,使用特殊的元素 slot
就能够为子组件
开启一个插槽
<slot>这里能够给默认值<slot>
- 当时用的时候,往
子组件标签中
,添加元素
就会替换插槽
<cnp>
<button>按钮</button>
</cnp>
3. 具名插槽的使用
- 若是有多个
插槽
的状况下,在替换的时候,为了一一对应
,因此给插槽命名
,能够精确对应
- 命名方式就是给每一个插槽一个
name 属性
,取不同的值
<slot name='left'></slot>
<slot name='center'></slot>
<slot name='right'></slot>
- 在使用的时候,在
插入的元素中
定义 slot 属性
,把插槽 name 的值
给它:
<cnp>
<button slot='left'>按钮</button>
<button slot='center'>按钮</button>
<button slot='right'>按钮</button>
</cnp>
4. 做用域插槽
父组件
替换插槽
的标签,可是内容由子组件来提供
- 那么
父组件
怎么样获取子组件
的内容呢
- 在
子组件
的插槽slot标签中
绑定一个属性
,属性名自定义
<slot :data="子组件的数据"></slot>
- 在
父组件
调用子组件标签
的时候,调用一个标签
,标签里的属性为 slot-scope="slot"
之前标签只能用template
,如今不限制了
<cnp>
<template slot-scope="slot">
slot.data
</temolate>
</cnp>