<!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>
</head>
<body>
<div id="app">
<cpn></cpn>
<cpn><p slot="nex">我已经添加了内容</p></cpn>
<cpn>
<template slot-scope="slot">
<span style="color: brown;">{{slot.data.join("----------")}}</span>
</template>
</cpn>
</div>
</body>
</html>
<template id="cpn">
<div>
<slot :data="message">
<ul>
<li v-for="items in message">{{items}}</li>
</ul>
</slot>
<slot name="nex">
此处添加内容
</slot>
</div>
</template>
<script src="vue.js"></script>
<script>
const app=new Vue({
el:"#app",
data:{},
components:{
cpn:{
template:"#cpn",
data(){
return{
message:["兄长,我想带一人,回云深不知处。带回去,藏起来。","生前不解对方心中情意,死后与尸同寝","长阶血未尽,那是他带你回家的路","是我薄你,死生不怨。","殿下,为你战死,是我至高无上的荣耀。"]
}
}
}
}
})
</script>
改变默认插槽的格式,在app中获取子组件的data然后用新的格式从新生成,
作用域原因:
在app中的cpn组件只能引用获取new vue里面的函数或者数据
定义在组件中的template只能获取子组件里的函数或者数据