不具名插槽
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<shouye>
<!-- 使用不具名插槽 -->
<div>不具名插槽</div>
</shouye>
</div>
</body>
<script>
const app = Vue.createApp({
data () {
return {
which:'shouye'
}
},
components: {
shouye:{
template:`
<h1>首页</h1>
// 定义不具名插槽
<slot></slot>
`
},
gouwu:{
template:`
<h1>购物</h1>
<input type="text" name="" id="">
`
},
fukuan:{
template:`
<h1>付款</h1>
`
},
}
}).mount("#app")
</script>
</html>
具名插槽
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<shouye>
<!-- 使用具名插槽a -->
<template v-slot:a>
<div>a具名插槽</div>
</template>
<!-- 使用具名插槽ab -->
<template #b>
<div>b具名插槽</div>
</template>
</shouye>
</div>
</body>
<script>
const app = Vue.createApp({
data() {
return {
}
},
components: {
shouye: {
template: `
// 定义具名插槽a
<slot name='a'></slot>
<h1>首页</h1>
// 定义具名插槽b
<slot name='b'></slot>
`
},
}
}).mount("#app")
</script>
</html>