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>

posted @ 2020-10-23 20:52    阅读(75)  评论(0)    收藏  举报