美文网首页
vue slot插槽

vue slot插槽

作者: 小碎步快跑 | 来源:发表于2018-12-14 20:40 被阅读0次

<slot> 元素作为承载分发内容的出口 --官方文档的定义

slot 实现的就是内容分发,实际上就是为了让组件可以组合,用一种方式来混合父组件的内容和子组件自有的模板.

实际在项目中应用是:例如有一个弹框是固定的模板,但是这个提示框要根据放到不同的产品页面显示不同产品信息。
slot 到底是什么意思--看图


根据是否设置name这个属性,分为匿名插槽、具名插槽

匿名插槽:

1 <navigation-link> 子组件定义为

<a
  v-bind:href="url"  class="nav-link">
  <slot></slot>
</a>

2 父组件这样去使用<navigation-link>子组件

<navigation-link url="/profile">
Your Profile
</navigation-link>

3 渲染出来的 HTML

<a v-bind:href="url" class="nav-link">
  Your Profile
</a>

具名插槽:

1 <alert> 组件定义为

 <div class="alertBox">
    <p>
      我是标题,你也可以动态传入
    </p>
    <div class="contenSlot">
      <slot name="content">
        <div class="alertContent">
          <p>想要展示的内容 你不写就展示我现在的内容</p>
        </div>
      </slot>
    </div>
    <div class="footerOption">
      <slot name="footerOption">
        <div class="flw">
          <button>取消</button>
        </div>
        <div class="flw">
          <button>确定</button>
        </div>
      </slot>
    </div>
  </div>

2 父组件这样使用alert组件

<div class="fatherBox">
  //组件的其他部分
  <div class="otherWrap">
    <span class="textLabel">其他部分</span>
  </div>
  <p @click="check">
    确 定
  </p>
  //插槽
  <alert>
    <div slot="content">
      <p class="listItem">
        <span class="item">你想在你的页面显示啥就写啥呗</span>
      </p>
      <p class="listItem">
        <span class="item">我就是不想和你原来的一样</span>
      </p>
    </div>
    <div slot="footerOption">
      <button>我知道了</button>
    </div>
  </alert>
</div>

3 渲染出来的 HTML

  <div class="fatherBox">
    //组件的其他部分
    <div class="otherWrap">
      <span class="textLabel">其他部分</span>
    </div>
    <p @click="check">
      确 定
    </p>
    //插槽
    <div class="alertBox">
      <p>
        我是标题,你也可以动态传入
      </p>
      <div class="contenSlot">
        <p class="listItem">
          <span class="item">你想在你的页面显示啥就写啥呗</span>
        </p>
        <p class="listItem">
          <span class="item">我就是不想和你原来的一样</span>
        </p>
      </div>
      <div class="footerOption">
        <button>我知道了</button>
      </div>
    </div>
  </div>

相关文章

  • Vue之深入理解插槽—slot, slot-scope, v-s

    Vue 2.6.0 以前Vue 2.6.0 以后具名插槽 slot具名插槽 v-slot作用域插槽 slot-sc...

  • vue插槽

    vue插槽slot的理解与使用 vue slot插槽的使用介绍及总结

  • vue中的slot(插槽)

    vue中的插槽————slot 什么是插槽? 插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定...

  • vue 插槽的使用

    vue 插槽手册 深入理解vue中的slot与slot-scope 插槽的使用其实是很简单首先要明白插槽是使用在子...

  • 18、Vue3 作用域插槽

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

  • vue3-slot-消息框-模态框

    1.前言 1.使用vue3 的slot插槽时,大部分和vue2-slot插槽[https://www.jiansh...

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

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

  • slot(插槽)

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

  • slot 用法以及使用场景

    Vue的插槽slot,分为3种 匿名插槽 具名插槽 作用域插槽 前两种很好理解,无非就是子组件里定义一个slot占...

  • Vue中Slot的渲染过程

    Vue在通过compiler解析模版中的slot, slot是组件中的插槽,通过解析slot,把slot的name...

网友评论

      本文标题:vue slot插槽

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