Vue插槽slot

作者: klmhly | 来源:发表于2018-06-07 16:58 被阅读17次

一、概念解析

插槽slot:插槽有点像组件中的一个占位符,当别的组件使用这个组件的时候,在这一对标签中又写了其他内容,就通过插槽渲染进这个组件
具名slot:用属性name标识的插槽,可以根据不同的名字匹配分发内容
作用域slot:用于接收子组件传递过来的数据。通常父组件在分发内容时,引用的是自己组件的数据。如果想要使用子组件的数据,就通过作用域插槽。

二、例子

1. 单个插槽

step1. 子组件内部定义slot标签占位
step2. 父组件使用子组件时分发内容,渲染到slot

<div class="myComponent">         //假定组件my-component有如下模板
  <slot></slot>
</div>
//在父组件中的使用方法
<my-component>
  <p>我就是slot的替代内容,这里可以放任何标签元素,即使是一长串ul>li列表</p>
</my-component>

2. 具名插槽
step1. 子组件内部定义slot标签占位,并且给不同的slot,命名
step2. 父组件使用子组件时分发内容,在分发内容处指明要渲染的slot的名字

//假定组件my-component有如下模板
<div class="myComponent">
  <slot name="header"></slot>
  <slot name="footer"></slot>
</div>

//在父组件的模板中使用方法
<my-component>
  <p slot="header">我就是这个叫header的slot替代内容,这里可以放任何标签,只要标签加了slot="header"就会渲染</p>
  <span slot="footer">我就是这个叫footer的slot替代内容</span>
</my-component>

3. 作用域插槽
step1. 子组件内部定义slot标签占位,在slot标签里自定义属性传值
step2. 父组件分发内容时定义slot-scope属性,它的值是临时变量,通过这个临时变量引用子组件slot的传值属性

//假设子组件的模板有如下内容
<div class="child">
  <slot text = "hello world"></slot>  
</div>

//父组件在模板中使用子组件的text的值
```html
<div class="parent">
  <child>
    <span slot-scope="props"> {{props.text}} </span>  //会把hello world渲染出来
  </child>
</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/ccnbsftx.html