slot的理解
创始人
2024-03-28 14:27:07
0

首先,大概了解一下插槽:

在这里插入图片描述
插槽是什么
![在这里插入图片描述](https://img-blog.csdnimg.cn/90b04660769e49c286ee2e1821d2a2bb.png
插槽:在HTML中 slot 元素 ,作为 Web Components 技术套件的一部分,是Web组件内的一个占位符

 

该占位符可以在后期使用自己的标记语言填充

举个例子:




  1


  2


template不会展示到页面中,需要用先获取它的引用,然后添加到DOM中,

customElements.define('element-details',
  class extends HTMLElement {
    constructor() {
      super();
      const template = document
        .getElementById('element-details-template')
        .content;
      const shadowRoot = this.attachShadow({mode: 'open'})
        .appendChild(template.cloneNode(true));
  }
})


插槽的应用场景
通过插槽可以让用户可以拓展组件,去更好地复用组件和对其做定制化处理

如果父组件在使用到一个复用组件的时候,获取这个组件在不同的地方有少量的更改,如果去重写组件是一件不明智的事情

通过slot插槽向组件内部指定位置传递内容,完成这个复用组件在不同场景的应用

比如布局组件、表格列、下拉选、弹框显示内容等

插槽的分类
slot可以分来以下三种:

默认插槽
具名插槽
作用域插槽

默认插槽
子组件用标签来确定渲染的位置,标签里面可以放DOM结构,当父组件使用的时候没有往插槽传入内容,标签内DOM结构就会显示在页面
父组件在使用的时候,直接在子组件的标签内写入内容即可

具名插槽
子组件用name属性来表示插槽的名字,不传为默认插槽

父组件中在使用时在默认插槽的基础上加上slot属性,值为子组件插槽name属性值

作用域插槽
子组件在作用域上绑定属性来将子组件的信息传给父组件使用,这些属性会被挂在父组件v-slot接受的对象上

父组件中在使用时通过v-slot:(简写:#)获取子组件的信息,在内容中使用

总结
v-slot属性只能在上使用,但在只有默认插槽时可以在组件标签上使用
默认插槽名为default,可以省略default直接写v-slot
缩写为#时不能不写参数,写成#default
可以通过解构获取v-slot={user},还可以重命名v-slot=“{user: newName}“和定义默认值v-slot=”{user = ‘默认值’}”

相关内容

热门资讯

向上·2025湖湘经济关键词盘... 三湘都市报·新湖南客户端 全媒体记者 龙思言 “守住消费券发放时间,买了就是省钱!”近日,已有身孕的...
宁波这类车淘汰更新,补贴政策调... 此前 宁波市生态环境局等5部门联合印发了 《宁波市国四排放标准 非营运中、重型货车提前淘汰 及新能源...
成都警方通报:男子因纠纷引燃易... 12月28日,成都市公安局高新区分局发布警情通报: 12月28日下午,高新区南三环路四段一汽车销售服...
爱奇艺回应“男子充25年会员退... 近日,河南许昌黄先生充了25年爱奇艺会员后遭遇退费难一事受到关注,相关词条登上微博热搜。 据河南广播...
成都警方:一男子因纠纷引发燃爆... 12月28日,成都市公安局高新区分局发布警情通报: 12月28日下午,我区南三环路四段一汽车销售服务...
成都高新警方通报:男子因纠纷在... 本文转自【成都高新公安】; 12月28日,成都市公安局高新区分局发布警情通报:
青海一人在出租屋内遇害!犯罪嫌... 关于规范非机动车停放秩序的通告 2000年2月2日,同仁县(现同仁市)发生一起恶性刑事案件,受害人马...
成都警方:男子因纠纷于4S店外... 新京报讯 12月28日,成都警方发布警情通报,内容如下: 编辑 李忆林子
原创 被... 被苹果起诉还敢爆料?Jon Prosser这次直接甩出王炸,iPhone首款折叠屏渲染图全网刷屏!书...
财政政策如何继续“更加积极”—... 新华社北京12月28日电 题:财政政策如何继续“更加积极”——解读2026年财政工作新看点 新华社记...