阅读本文约需要5分钟

大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了下前端几种高级布局的方式的相关知识,今天跟大家分享Vue 插槽详解的知识。

参考来源:https://www.cnblogs.com/chinabin1993/p/9115396.html

Vue插槽,是学习vue中必不可少的一节,当初刚接触vue的时候,对这些掌握的一知半解,特别是作用域插槽一直没明白。

后面越来越发现插槽的好用。

分享一下插槽的一些知识吧。

分以下几点:

1、插槽内可以放置什么内容?

2、默认插槽

3、具名插槽

4、作用域插槽

一、插槽内容

一句话:插槽内可以是任意内容。

先看一下下面的代码:声明一个child-component组件,

如果现在我想在内放置一些内容,结果会是怎样?

<div id="app">    <child-component>child-component>div><script>    Vue.component('child-component',{        template:`            
Hello,World!

` }) let vm = new Vue({ el:'#app', data:{ } })script>  

<child-component>你好child-component>

输出内容还是在组件中的内容,在 内写的内容没起作用。

这就是插槽出现的作用。

我们现在给组件增加一个插槽

我们在内写的"你好"起作用了!!!

Vue.component('child-component',{        template:`            <div>            Hello,World!            <slot>slot>            div>        `    })
 

到现在,我们知道了什么是插槽:

插槽就是Vue实现的一套内容分发的API,将元素作为承载分发内容的出口。

这句话的意思就是,没有插槽的情况下在组件标签内些一些内容是不起任何作用的,当我在组件中声明了slot元素后,在组件元素内写的内容

就会跑到它这里了!

二、具名插槽

具名插槽,就是给这个插槽起个名字

在组件中,我给插槽起个名字,一个名字叫"girl",一个名字叫"boy",还有一个不起名字。

然后再内,slot属性对应的内容都会和组件中name一一对应。

而没有名字的,就是默认插槽!!

<div id="app">    <child-component>        <template slot="girl">            漂亮、美丽、购物、逛街        template>        <template slot="boy">            帅气、才实        template>        <div>            我是一类人,            我是默认的插槽        div>    child-component>div><script>    Vue.component('child-component',{        template:`            <div>            <h4>这个世界不仅有男人和女人h4>            <slot name="girl">slot>            <div style="height:1px;background-color:red;">div>            <slot name="boy">slot>            <div style="height:1px;background-color:red;">div>            <slot>slot>            div>        `    })    let vm = new Vue({        el:'#app',        data:{        }    })script>

三、默认插槽

上面已经介绍过了,这里不做描述

四、作用域插槽

之前一直没搞懂作用域插槽到底是什么!!!

说白了就是我在组件上的属性,可以在组件元素内使用!

先看一个最简单的例子!!

我们给元素上定义一个属性say(随便定义的!),接下来在使用组件child,然后在template元素上添加属性slot-scope!!随便起个名字a

我们把a打印一下发现是 {"say" : "你好"},也就是slot上面的属性和值组成的键值对!!!

这就是作用域插槽!

我可以把组件上的属性/值,在组件元素上使用!!

<div id="app">    <child>        <template slot-scope="a">                  {{a}}        template>    child>div><script>    Vue.component('child',{        template:`                    `    })    let vm = new Vue({        el:'#app',        data:{        }    })script> 

再看一下下面的例子:

<div id="app">    <child :lists="nameList">        <template slot-scope="a">            {{a}}        template>    child>div><script>    Vue.component('child',{        props:['lists'],        template:`                    `    })    let vm = new Vue({        el:'#app',        data:{            nameList:[            {id:1,name:'孙悟空'},            {id:2,name:'猪八戒'},            {id:3,name:'沙和尚'},            {id:4,name:'唐僧'},            {id:5,name:'小白龙'},            ]        }    })script>

看一下输出结果

这太有用了兄弟们!!!

这样我就可以在这元素上随便玩了啊!!

当id等于1的时候,我前面加个你好。

我可以随便根据这个对象的属性值进行操作!

<child :lists="nameList">        <template slot-scope="a">            <div v-if='a.bbbbb.id==1'>你好:<span>{{a.bbbbb.name}}span>div>            <div v-else>{{a.bbbbb.name}}div>        template>    child>

最后!如果用过elementui的同学,一定知道表格就是这样来的!!

表格的本质就是这样!

如果你的才华还实现不了你的野心,那就静下心来,埋头苦干。有志者事竟成破釜成舟百二秦关终属楚,苦心人天不负卧薪尝胆三千越甲可吞吴!

今天就分享这么多,关于Vue 插槽详解,你学会了多少?欢迎在留言区评论,对于有价值的留言,我们都会一一回复的。如果觉得文章对你有一丢丢帮助,请点右下角【在看】,让更多人看到该文章。如果有想了解的,也可以进行留言

vue + element-ui 聊天_Vue 插槽详解相关推荐

  1. vue插槽样式_Vue 插槽详解

    Vue插槽,是学习vue中必不可少的一节,当初刚接触vue的时候,对这些掌握的一知半解,特别是作用域插槽一直没明白. 后面越来越发现插槽的好用. 分享一下插槽的一些知识吧. 分一下几点: 1.插槽内可 ...

  2. Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容)

    Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容) 能够解决的问题 需要在表格中添加一个类似修改或编辑的按钮,按下按钮,弹出的窗口需要本行的渲染数据 需要向服务端提交一 ...

  3. Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)

    这篇博客主要介绍树形控件的两个小小的功能: 下拉菜单 输入过滤框 以CSS样式为主,也会涉及到Vue组件和element组件的使用. 对于没有层级的数据,我们可以使用表格或卡片来展示.要展示或建立层级 ...

  4. 基于vue(element ui) + ssm + shiro 的权限框架

    zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...

  5. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出

    文章目录 目标 代码 0.页面结构 1.新增按钮和弹出表单:结构 2.新增按钮和弹出表单:点击新增弹出表单 3.表单样式 4.表单验证 5.表单的提交和取消功能:接口.mock相关准备 6.表单的提交 ...

  6. 数据列表 多选 html,Vue多选列表组件深入详解

    这篇文章主要介绍了Vue多选列表组件深入详解,这个是vue的基本组件,有需要的同学可以研究下 多选列表 (Multi-Select) 是一种将所有选项列出,并允许用户利用 Ctrl/Shift 键进行 ...

  7. 【前端】Vue+Element UI案例:通用后台管理系统-代码总结(已开源)

    文章目录 前言 项目文件目录 api mockServe home.js permission.js index.js mock.js user.js assert components Common ...

  8. vue + element ui 的后台管理系统框架_从零开始搭建 VUE + Element UI后台管理系统框架...

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 后台管理系统前端框架,现在很流行的形式都是,上方和左侧都是导航菜单,中间是具体的内容.比如阿里云.七牛云.头条号.百家号等 ...

  9. Vue + Element UI 实现 登陆注册基本demo实例

    Vue + Element UI 实现权限管理系统 前端篇(二):Vue + Element 案例 导入项目 打开 Visual Studio Code,File --> add Folder ...

最新文章

  1. 剑指offer:字符流中第一个不重复的字符
  2. 用神经网络二分类人脑与电脑
  3. C++调用Matlab 注意事项
  4. selenium对富文本的操作
  5. 位运算java_Java中的位运算
  6. 请假一天,回粤西老家买了套房
  7. 京东进一步回应“承兴事件”:歌斐自身存在风控缺陷
  8. 自由软件之父回归 FSF,遭 1933 人、21 家组织联名抵制!
  9. python爬虫天猫商品数据及分析(1)
  10. linux使用tab键联想,Linux 下python 如何设置使用tab键
  11. Matlab利用textread或者textscan读取格式化txt文件
  12. 快速应对面试--分门别类--6.链表
  13. QT环境搭建及常见错误
  14. R语言程序包下载地址:CRAN Packages
  15. 如何用Phaser实现一个全家福拼图H5
  16. Panda3D设置游戏背景颜色和节点颜色、透明度
  17. Ogre天龙八部地形mesh部分的C++源码
  18. Qt内存泄露工具Heob安装使用
  19. 数据分析有哪些好书值得推荐?
  20. 深圳交易所新股申购规则

热门文章

  1. 个人开发者福利:没有注册公司,如何发布自己的小程序
  2. oracle中提取日期时间的特定部分,Extract()截取時間的特定部分
  3. dp线和hdmi区别_HDMI铜线与光纤线有啥区别?为什么铜线传播速度更快?看完涨知识...
  4. 监督学习 | 决策树之网络搜索
  5. 三大高通量测序平台芯片通量对比图(请把手机横过来看))
  6. Hemberg-lab单细胞转录组数据分析(九)- Scater包单细胞过滤
  7. 云鹊医认证审核需要多久_ISO9001质量管理体系认证审核需要准备哪些资料
  8. 同一个页面提交多个form表单方法(详细)
  9. mui 头部tab代码2
  10. C++工作笔记-在项目中解决编码问题小技巧