您的位置:首页 > Web前端 > Vue.js

vue组件插槽

2019-07-30 21:08 106 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_34691738/article/details/97817422

1、在组件中加入自定义的html

slot标签为vue中特有标签,意为插槽,是指在组件中可以自定义插入dom;

//使用组件:
<box-content>
<div slot="header">header</div>
<div slot="footer">footer</div>
</box-content>

//组件实现:
Vue.component('box-content',{
template:`<div>
<slot name="header"></slot>
<div class="main">main</div>
<slot name="footer"></slot>
</div>`,
data:function () {
return{}
},
props:{

}
});

2、作用域插槽

组件插槽中数据显示形式由父组件决定;:slot="main"为插槽名称,slot-scope="scope"自定义作用域名称,可随意定义

//使用组件
<tem-slot>
<template slot="main" slot-scope="scope">
<h3>{{scope.title}}</h3>
<table>
<tbody>
<tr v-for="(item,index) in scope.data"><td>{{item}}</td></tr>
</tbody>
</table>
</template>
</tem-slot>

//组件实现:
Vue.component('tem-slot',{
template:  `<div class="tem-slot">
<slot name="main"
:data="rows"
:title="title"></slot>
</div>`,
data:function () {
return{
rows:[1, 2, 3, 4, 5],
title:'title'
}
},
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: