美文网首页
vue组件-使用插槽分发内容(slot)

vue组件-使用插槽分发内容(slot)

作者: 废柴阿W | 来源:发表于2018-12-08 21:05 被阅读0次

slot--使用插槽分发内容(位置、槽口;作用: 占个位置)

官网APIhttps://cn.vuejs.org/v2/guide/components.html#使用插槽分发内容

使用组件时,有时子组件不知道会收到什么内容,这是由父组件决定的。

一、单个插槽

1.my-component 组件:
<div>
    <h2>我是子组件的标题</h2>
    <slot>
        这段内容只有在没有要分发的内容时才会显示。
    </slot>
</div>

2.父组件:
<div>
    <h1>我是父组件的标题</h1>
    <my-component>
        <p>这是一些初始内容</p>
        <p>这是更多的初始内容</p>
    </my-component>
</div>

3.渲染结果:
<div>
    <h1>我是父组件的标题</h1>
    <div>
        <h2>我是子组件的标题</h2>
        <p>这是一些初始内容</p>
        <p>这是更多的初始内容</p>
    </div>
</div>

二、具名插槽

slot根据不同的name名称分发内容,多个插槽可以有不同的名字。

仍然可以有匿名的默认插槽,为了找不到匹配的内容片段使用,如果没有默认插槽,这些找不到匹配的内容片段将被抛弃。

1.my-component 组件:
<div class="container">
    <header>
        <slot name="header"></slot>
    </header>
    <main>
        <slot></slot>
    </main>
    <footer>
        <slot name="footer"></slot>
    </footer>
</div>

2.父组件:

<my-component>
    <h1 slot="header">这里可能是一个页面标题</h1>
    <p>主要内容的一个段落。</p>
    <p>另一个主要段落。</p>
    <p slot="footer">这里有一些联系信息</p>
</my-component>

3.渲染结果:
<div class="container">
    <header>
        <h1>这里可能是一个页面标题</h1>
    </header>
    <main>
        <p>主要内容的一个段落。</p>
        <p>另一个主要段落。</p>
    </main>
    <footer>
        <p>这里有一些联系信息</p>
    </footer>
</div>

例子:


Slot插槽.png

相关文章

  • slot是什么?有什么作用?原理是什么?

    slot又名插槽,是Vue的内容分发机制,组件内部的模板引擎使用slot元素作为承载分发内容的出口。插槽slot是...

  • slot(插槽)

    slot又称插槽,是Vue的内容分发机制,组件内部的模板引擎使用slot元素作为承载分发内容的出口。插槽slot是...

  • 2020-07-23 一次性讲明白vue插槽slot

    vue插槽slot 一、前言 vue官方文档中在"组件基础"内容中提到组件可以通过插槽分发内容,那插槽是怎么使用的...

  • vue插槽slot

    vue插槽slot 一、前言 vue官方文档中在"组件基础"内容中提到组件可以通过插槽分发内容,那插槽是怎么使用的...

  • 插槽

    一、前言 vue中可以使用插槽slot分发内容给子组件,slot可以避免html被转义(不需要使用v-html)。...

  • 2-6 vue 匿名插槽-slot

    匿名插槽-slot Slot插槽 —— 实现内容分发 什么是slot?slot的意思是插槽,其目的在于让组件的可扩...

  • uni-app使用slot插槽不生效的问题

    uni-app使用slot插槽不生效的问题 slot 元素作为组件模板之中的内容分发插槽。 元素自身将被替换...

  • 18、Vue3 作用域插槽

    作用域插槽:让插槽内容能够访问子组件中,vue2中作用域插槽使用slot-scope,vue3中使用v-slot ...

  • vue组件-使用插槽分发内容(slot)

    slot--使用插槽分发内容(位置、槽口;作用: 占个位置) 官网API: https://cn.vuejs.or...

  • 第七章 可复用性的组件详解(下)

    7.8使用slot分发内容 7.8.1 什么是slot(插槽) 为了让组件可以组合,我们需要一种方式来混合父组件的...

网友评论

      本文标题:vue组件-使用插槽分发内容(slot)

      本文链接:https://www.haomeiwen.com/subject/sdtfhqtx.html