插槽用于内容分发,存在于子组件之中。

插槽作用域

父级组件作用域为父级,子级组件作用域为子级,在哪定义的作用域就在哪。

子组件之间的内容是在父级作用域的,无法直接访问子组件里面的数据。

插槽元素

<slot></slot> 或 <slot name="名称">默认值</slot>

1:如果定义了slot插槽元素,那么子组件之间的内容将会被插入到插槽元素之中。(可简单理解为向插槽提供内容)
2:如果定义了slot插槽元素,并没有在子组件之间插入内容,那么将使用默认值。(不提供内容,将使用默认值)
3:如果没有定义slot元素,那么子组件之间的内容将会被废弃。

// 定义组件
Vue.component("my-test",{
template:`<div><slot>默认值</slot></div>`
}) // 向插槽提供内空
<my-test>hello slot</my-test>

多插槽元素

当子组件中有多个插槽元素时,要为每个插槽name特性定义名称。

1:如果没有定义名称,那么采用默认名称:default;用于存放不指定名称的内容

2:如果多个插槽没有定义名称或名称相同的情况下,那么v-slot(# 缩写)指令将无法找到对应插槽或混乱。

3:多个插槽时v-slot指令配合template一起使用,如果只有单个可直接写到子组件上。

// 定义插槽
Vue.component("my-test",{
template:`
<div>
<div class="title"><slot name="name">标题</slot></div>
<div class="main"><slot>内容</slot></div>
<div class="main"><slot name="qita">其它</slot></div>
</div>
`
}); <!-- 向插槽提供数据 -->
<div class="app">
<my-test>
<template v-slot:name>
<h4>vuejs</h4>
</template>
<p>v-slot、slot元素</p>
<p>template</p>
<template v-slot:qita>
<p>恩</p>
</template>
</my-test>
</div>

访问插槽数据

父组件在向子组件的插槽提供内容的时候,有时需要访问子组件中的数据,那么可以利用v-bind指令在插槽上绑定变量来实现。

字面量写法:

v-slot:default="自定义名称"

解构写法 : 与ES6中解构对象写法一样。

v-slot:default="{data = {name:"whowhowho"}}"

变量重命名

v-slot:default="{data : ddd}"

   Vue.component("my-test",{
template:`<div class="main"><slot :data="user">内容</slot></div>`,
data(){
return {
user:{
name:'小明',
age:'110'
}
}
}
}); <div class="app">
<my-test>
<template v-slot="o">
{{o.data.name}}、{{o.data.age}}
</template>
</my-test>
<my-test>
<template v-slot:default="{data}">
{{data.name}}、{{data.age}}
</template>
</my-test>
<my-test>
<template v-slot:default="{data:dd}">
{{dd.name}}、{{dd.age}}
</template>
</my-test>
</div>

动态插槽名

与ES6中动态属性名写法一样。 v-slot:[....]

https://pan.baidu.com/s/1DxVAkfDluQkAQwE5h5kVLA

Vue slot插槽的更多相关文章

  1. Vue slot插槽内容分发

    slot插槽使用 使用场景,一般父组件中又一大段模板内容需要运用到子组件上.或者更加复杂的,子组件需要运用到父组件大段模板内容,而子组件却不知道挂载的内容是什么.挂载点的内容是由父组件来决定的. Sl ...

  2. Vue slot 插槽用法:自定义列表组件

    Vue 框架的插槽(slot)功能相对于常用的 v-for, v-if 等指令使用频率少得多,但在实现可复用的自定义组件时十分有用.例如,如果经常使用前端组件库的话,就会经常看到类似的用法: < ...

  3. vue slot插槽的使用

    slot插槽的使用场景 父组件向子组件传递dom时会用到插槽   作用域插槽:当同一个子组件想要在不同的父组件里展示不同的状态,可以使用作用域插槽.展示的状态由父组件来决定   注:想要修改父组件向子 ...

  4. vue slot插槽的使用方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. vue slot 插槽详解

    插槽含义:就是引入子组件后,在插入子组件元素中添加信息或者标签,使得子组件的指定位置插入信息或者标签 插槽有三种:默认插槽.具名插槽.作用域插槽,由于vue2.6.0后对插槽进行修改,但是兼容2.6. ...

  6. Vue slot插槽通俗解释

    slot内容分发是Vue的Api来源 <div id="app"> <my-list> {{msg}} </my-list> </div& ...

  7. vue slot 插槽备忘

    老是记不住插槽咋回事 记录下来备忘 父组件 <tab><template slot="boy" slot-scope="test">{{ ...

  8. vue slot插槽v-show不控制显示隐藏

    vue中想控制插槽的显示隐藏,用v-show是不起任何作用的,改用v-if 可以生效.

  9. Vue结合slot插槽分发父组件内容实现高度复用、更加灵活的dialog组件

    之前写过一篇关于vue实现dialog会话框组件的文章(http://www.cnblogs.com/fozero/p/8546883.html)[http://www.cnblogs.com/foz ...

随机推荐

  1. 国际知名CSS Reset 总结

    NO.01   CSS Tools: Reset CSS 网站:https://meyerweb.com/eric/tools/css/reset/ 优点:老牌,用的人多. /* http://mey ...

  2. MySQL之父造访腾讯云 为腾讯云数据库开源点赞

    近日,技术大牛 MariaDB 公司创始人兼CTO Michael Widenius(又名Monty).MariaDB 基金会主席 Kaj 来到中国,针对MariaDB与腾讯云的技术合作进行回访.去年 ...

  3. Java核心技术梳理-集合

    一.前言 在日常开发中,我们经常会碰到需要在运行时才知道对象个数的情况,这种情况不能使用数组,因为数组是固定数量的,这个时候我们就会使用集合,因为集合可以存储数量不确定的对象. 集合类是特别有用的工具 ...

  4. 二分法与二叉树的 Java 实现

    算法与数据结构始终是计算机基础的重要一环,今天我们来讨论下 Java 中二叉树的实现以及一些简单的小算法,如二分查找,归并排序等. 二分查找 二分查找是一种在有序数组中查找某一特定元素的搜索算法,它在 ...

  5. MOCK API 的定义及实践(使用eolinker实现)

    MOCK API 的定义 根据百度百科的定义,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象,mock对 ...

  6. DFS(深度优先搜索)

    简介 DFS的过程是一个递归过程,它是从图中的某个顶点开始,首先访问起始点v,然后选择一个与顶点v相邻的且没有被访问的顶点w,以w为起始顶点,在进行DFS,直到图中所有与v相邻的顶点都被访问过为止. ...

  7. 前端笔记之HTML

    前端三层:内容层(结构层)HTML.样式层(表现层)CSS.行为层JavaScript 层 语言 含义 结构层 HTML 由 HTML 或 XHTML之类的标记语言负责创建.标签,也就是那些出现在尖括 ...

  8. sqlserver2014无法打开报Cannot find one or more components_修复方案

    前言:我跟网上大家的原因基本一样,就是好久没用sqlserver了,中间也对VS进行过卸载升级等,突然有一天发现,打开Sqlserver时打不开了,出了一个弹框:Cannot find one or ...

  9. 【转载】Win7利用任务计划程序实现定时关机

    在Win7.Win8或者Win10系统中,如果要实现电脑的自动定时关机,不需要借用任何的外部程序,直接系统自带的任务计划程序即可实现电脑的定时自动关机,支持设定电脑关机时间以及执行频率次数,如固定每天 ...

  10. OutOfMemoryError/OOM/内存溢出异常实例分析--堆内存溢出

    Java堆内存溢出 只要不断创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象, 那么在对象数量到达最大堆的容量限制后就会产生内存溢出异常,代码如下: import ...