vue作用域插槽的应用
问题场景:
存在一个列表,然后当鼠标放入列表中的名称上的时候,自动弹出简介,类似这种效果,

我们当然可以使用positon relative和absolute搭配达到这样的效果,但是现在有一个奇葩的问题,即名称那一列是overflow:hidden的(因为某些特殊原因),这个时候就不可能使用子元素的方式来达到悬浮的效果,这就只有一种实现方式,悬浮框单独做一个 定位未fixed,然后再鼠标放入名称上时候,监听鼠标位置,然后将悬浮框移动到置顶位置,而实现这个组件让我对vue的作用域插槽又有了一些理解:
组件下载:https://pan.baidu.com/s/1RNH7IbO_yCc1v_lNjoXuqQ
文件中含有两个文件,一个是组件,一个是指令,
使用方式:
1:引入组件和指令
2:绑定指令:
v-hover="{ref:$refs.popover1,data:scope.row.teaId}"
指令接收两个参数,ref表示我们将要使用的组件的ref,data表示我们显示悬浮框时候的数据,
3:使用组件
<zm-hover
ref="popover1">
<template scope="props">
<template v-if="!props.data">
<el-row style="text-align: center;color: black;line-height: 50px;">
<i class="el-icon-loading"></i>
</el-row>
</template>
<template v-else>
<el-row>
<el-col class="pd5" :span="12">性别:-----</el-col>
<el-col class="pd5" :span="12">学历:-----</el-col>
</el-row>
<el-row>
<el-col class="pd5" :span="12">毕业时间:-----</el-col>
<el-col class="pd5" :span="12">是否调剂:-----</el-col>
</el-row>
</template>
<!-- {{ !!props.data ? props.data.subject : '' }} -->
</template>
</zm-hover>
我们可以看到zm-hover是我们的组件,里面的html代码我们可以任意组织,其中数据是通过peops.data从zm-hover组件中拿到的,我们可以看看组件源码
<template>
<transition name="fade">
<div @mouseenter="Menter" @mouseleave="Mleave" class="zm-hover" v-bind:style="{ left: leftPX, top: topPX, bottom: bottomPX }" v-show="visible">
<i :class="vertureP" class="triangleRight"></i>
<i :class="vertureP" class="triangleRightBlock"></i>
<slot :data="contentData"></slot>
</div>
</transition>
</template>
我们再<slot>中传递数据给将要替换slot中的内容,所以这个地方我理解的是作用域插槽就是把数据传递给未来将要使用的组件中需要替换<slot>部分的内容,其中替换的html代码 通过props.data获取到数据,其中获取数据使用<template scope="props">。
vue作用域插槽的应用的更多相关文章
- 细说Vue作用域插槽,匹配应用场景。
最近在官方文档中看到,vue新增了一种插槽机制,叫做作用域插槽.要求的版本是2.1.0+. 首先来说一下:顾名思义,所谓作用域插槽,主要就在作用域,需要注意的是(以下几点看不懂不要紧,配合下面的例子, ...
- vue 开发系列(十) VUE 作用域插槽
使用场景 官方解释,有时让插槽内容能够访问子组件中才有的数据是很有用的.比如我们在使用ant-design-vue 的表格控件时. <a-table-column title="注释& ...
- Vue作用域插槽:用作循环结构的模版
一 项目结构 二 App组件 <template> <div id="app"> <!-- 子组件 --> <todos :list=&q ...
- Vue作用域插槽:基本用法
一 项目结构 二 App组件 <template> <div id="app"> <!-- 子组件 --> <user v-slot:de ...
- vue作用域插槽
简而言之,作用域插槽就是让插槽内容能够访问子组件中的数据. 案例如下:有CurUser组件 <template> <span> <!-- 在slot 元素上绑定user, ...
- 新版vue作用域插槽的使用
2.6开始,作用域插槽的使用有了不同的地方: 作用域插槽的个人理解就是让子组件的数据可以在父组件中使用: 也是一个数据传递的方式了: 不多说,上代码 子组件定义一个插槽,并且定义一个需要传递到父组件 ...
- Vue 作用域插槽
使用场景:复用子组件的slot,又可以使slot的内容不一样. <!DOCTYPE html> <html lang="zh"> <head> ...
- vue作用域插槽实践
引言 我在练手的时候发现后端返回的数据可以通过两种方式渲染 (自己遇到的 可能你都会 哈哈哈) 后端传过来的数据函数 from django.http import JsonResponse def ...
- Vue的作用域插槽
一.通常情况下都是父组件传递数据给子组件进行展示的(无法改变子组件的展示方式):而作用域插槽允许子组件通过slot向父组件传递数据,类似React中的“以函数为子组件”,由父组件决定渲染的内容(包含绑 ...
随机推荐
- Flask性能优化对比
基于Flask的网关:Flask,Uwsgi,Gevent,Gunicorn(gevent),Tornado,Twisted !/usr/bin/python -- coding:utf-8 -- 美 ...
- MyEclipse的JPA实现集成EasyJF+Spring
该视频是演示MyEclipse的JPA实现集成EasyJF+Spring的示例视频.演示项目很小,仅实现基本的查询功能. 演示过程中难免有误,请各位朋友热心指导! gh发给梵蒂冈地方fgh
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165316
2018-2019-2 <网络对抗技术>Exp0 Kali安装 Week1 20165316 下载 我分别下载了kali-linux-2019.1-i386的镜像文件和kali-linux ...
- android上instant app介绍 类似于微信小程序
android上instant app介绍 类似于微信小程序instant app 是谷歌推出的类似于微信小程序(或者说小程序类似于instant app)的一项技术,用户无须安装应用,用完就走,同时 ...
- Java基础总结3
计算只做加法计算 减法也是加法计算出来的: 1,顺序结构: 按照编写代码的顺序从上而下逐行翻译执行: 特点:每行代码都能被执行到且被执行一次: 2,选择结构看条件: 条件为true(成立)执行代码块: ...
- Hadoop2-HDFS学习笔记之入门(不含YARN及MR的调度功能)
架构 Hadoop整体由HDFS.YARN.MapReduce三大部分组成,推荐架构参考:https://www.cnblogs.com/zhjh256/p/10573684.html. 注:2.x的 ...
- 求最近点对算法分析 closest pair algorithm
这个帖子讲得非常详细严谨,转一波. http://blog.csdn.net/lishuhuakai/article/details/9133961
- Arthas:线上问题排查工具
安装 下载 java -jar arthas-boot.jar 查看版本: D:\Program Files\arthas $ java -jar arthas-boot.jar -version [ ...
- Python汉诺塔
import turtle class Stack: def __init__(self): self.items = [] def isEmpty(self): return len(self.it ...
- [IoC容器Unity]第四回:使用范例
1.引言 前面几个章节介绍了Unity的基本使用,主要分为程序和配置文件两种方法的使用,可以参考一下链接, [IoC容器Unity]第一回:Unity预览 [IoC容器Unity]第二回:Lifeti ...