<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!--
(1)插槽定义:
<div class="container">
<header>
<slot name="header"></slot>
</header>
<main>
<slot></slot>
</main>
<footer>
<slot name="footer"></slot>
</footer>
</div>
(2)插槽内容
<base-layout>
<h1 slot='header'>title</h1>
<p>text</p>
<p slot='footer'>endding</p>
</base-layout>
-->
<div id="app">
<div>test1</div>
<base-layout>
<div slot="header">标题</div>
<p>text</p>
<p>text</p>
<div slot="footer">结尾</div>
</base-layout>
<br><br><br><br>
<div>test2</div>
<base-layout>
<template slot="header">
<div>标题</div>
<div>标题</div>
<div>标题</div>
</template>
<p>text</p>
<p>text</p>
<template slot="footer">
<div>结尾</div>
<div>结尾</div>
<div>结尾</div>
</template>
</base-layout>
</div>
<script src="./vue/vue.js"></script>
<script>
Vue.component('base-layout',{
template:`
<div>
<header>
<slot name="header"></slot>
</header>
<main>
<slot></slot>
</main>
<footer>
<slot name="footer"></slot>
</footer>
</div>`
});
var vm = new Vue({
el:"#app",
data:{},
methods:{}
});
</script>
</body>
</html>
网友评论