插槽
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
</head>
<body>
<div id="app">
<Hello>
<header> 头部 </header>
<section> 内容 </section>
<footer> 底部 </footer>
</Hello>
</div>
<template id="hello">
<div>
hello
<slot></slot>
</div>
</template>
</body>
<script>
Vue.component( 'Hello', {
template: '#hello'
})
new Vue({
el: '#app'
})
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
</head>
<body>
<div id="app">
<Hello>
<header slot = "header"> 头部 </header>
<section slot = "content"> 内容 </section>
<footer slot = "footer"> 底部 </footer>
</Hello>
</div>
<template id="hello">
<div>
<slot name = "header"></slot>
<slot name = "content"></slot>
hello
<slot name = "footer"></slot>
</div>
</template>
</body>
<script>
Vue.component( 'Hello', {
template: '#hello'
})
new Vue({
el: '#app'
})
</script>
</html>