slot 插槽
如何封装合适呢?抽取共性,保留不同。
最好的封装方法就是将共性抽取到组件中,将不同暴露为插槽。
预留插槽 如果有覆盖显示覆盖 没有就显示定义的内容 插槽可以插入多个标签
具名插槽是根据定义的name来指定替换插槽内容
基本使用插槽和 具名插槽
<!DOCTYPE html>
<html>
<head>
<title>组件</title>
<meta charset="utf-8" />
</head>
<body>
<div id="app">
<cpn> </cpn>
<cpn> </cpn>
<cpn> <span> hhhhhh</span></cpn>
<cpn><p>11111111</p> </cpn>
<cpn> </cpn>
<cpn> </cpn>
</div>
<template id="cpn">
<div>
<h2>组件</h2>
<p>组件</p>
<slot><button>anniu</button></slot> <!--预留插槽 如果有覆盖显示覆盖 没有就显示定义的内容 插槽可以插入多个标签-->
</div>
</template>
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.1.0/axios.min.js"></script>
<script>
const app=new Vue({
el:"#app",
data:{
message:'你好啊',
} ,
components:{
cpn:{
template:'#cpn'
}
}
})
</script>
</body>
</html>
<body>
<div id="app">
<cpn><span slot="lai">标题</span> </cpn>
<cpn><span slot="top">标题111</span> </cpn>
</div>
<template id="cpn">
<div>
<slot name="top">上</slot>
<slot name="lai"></slot>
<slot>中</slot>
<slot>下</slot>
</div>
</template>
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.1.0/axios.min.js"></script>
<script>
const app=new Vue({
el:"#app",
data:{
message:'你好啊',
} ,
components:{
cpn:{
template:'#cpn'
}
}
})
</script>
</body>

浙公网安备 33010602011771号