插槽(slot):预留空间,让封装的组件更具扩展性,让使用者可以根据需求决定组件内部的一些地方展示什么。
插槽的基本使用
应用场景:导航栏。几乎每个页面都有导航栏,但它们之间又有所区别。
最好的封装方式:将共性抽取到组件中,将不同暴露为插槽。
基本使用:子组件中使用<slot>标签定义插槽,可以指定默认元素。接着父组件在使用子组件时传入替换元素,如果没有传则显示默认元素,如果传入了多个则一起作为slot的替换元素。
<!--父组件模板-->
<div id="app">
<cpn></cpn>
<cpn>
<span>哈哈哈</span>
</cpn>
</div>
<!--子组件模板-->
<template id="cpn">
<div>
<h2>我是子组件</h2>
<slot>
<!--默认元素-->
<button>按钮</button>
</slot>
</div>