vue(js)点击目标div以外区域将目标div隐藏
今天开发新项目的时候,有个需求,点击一个div 展示出个弹出窗 弹出窗标题的颜色要跟点击的div图标颜色一致,
所以这就需要我遍历一下多个数据,
然后需要点击弹出div的外部其他区域,隐藏这个div。所以 有了以下操作!

这个点击事件@click.stop="isPop(item.event)" 加上.stop 起阻止冒泡的效果,这里很重要,具体原因就暂时不解释了 。做的时候就会理解了;
目标div 是被 item.popShow 控制的,我给出我数组的格式
fiveList: [
{
img: "./images/case/blockchain/1@2x.png",
popShow: false,
color: "rgba(245, 134, 125, 1)",
title: "区块链钱包",
content:
"支持各类底层协议类钱包开发,如比特币、以太坊等代币开发和私有链的搭建,可完美对接会员系统和交易系统。"
},
{
img: "./images/case/blockchain/2@2x.png",
popShow: false,
color: "#6cd286",
title: "会员算力系统",
content:
"会员算力系统包括会员管理系统、会员奖励制度、会员推荐制度,可对接商城系统,游戏等应用场景。"
},
{
img: "./images/case/blockchain/3@2x.png",
popShow: false,
color: "#36b5f0",
title: "数字币交易系统",
content:
"分会员算力系统内置交易系统和独立交易系统,点对点交易。会员算力系统y无缝对接。"
},
{
img: "./images/case/blockchain/4@2x.png",
popShow: false,
color: "#ffa930",
title: "大型交易所系统",
content:
"支持C2C交易、币币交易、OTC场外交易。内存运行,速度快,高效,稳定。"
},
{
img: "./images/case/blockchain/5@2x.png",
popShow: false,
color: "#a676e4",
title: "专业的开发团队",
content:
"开发团队精通区块链数字币等技术,精通各种会员奖金制度算法和各类交易系统的开发。"
}
],
然后如果单纯的需要控制这个div的显示与隐藏的话,就一条代码足矣

那么如何获取这个div的其他外部区域呢?

box 是弹出窗div的 id;
这样就能在内和在外操作了;
众所周知。 我们如果需要在这里面控制每个被点击的div的话,直接 this.xxx=false; 是不行的 原因你们应该也懂;
列出关键代码:

先var 一个 空数组;循环弹出层数组,拿到每个弹出层此时的 true or false 的状态

这是我点击第一个。所以就是 第一个 为true 其他都是 false了;
所以这里的逻辑就是,当这个div的状态为true时,将这个为true的数组 push 进 popList 中;然后点击 “在外” 那里将它隐藏就好了

因此就达到了想要的效果
vue(js)点击目标div以外区域将目标div隐藏的更多相关文章
- 邂逅Vue.js
1.简单认识一下Vue.js Vue (读音 /vjuː/,类似于 view),不要读错. Vue是一个渐进式的框架,什么是渐进式的呢? p渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更 ...
- Vue.js 学习笔记 一
本文的Demo和源代码已放到GitHub,如果您觉得本篇内容不错,请点个赞,或在GitHub上加个星星! https://github.com/zwl-jasmine95/Vue_test 以下所有知 ...
- Vue js 的生命周期详解
Vue 实例的生命周期 Vue 实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列 过程,我们称这是 Vue 的生命周期.通俗说就是 Vue ...
- Web前端-Vue.js必备框架(四)
Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...
- Vue.js+vue-element搭建属于自己的后台管理模板:更深入了解Vue.js(三)
前言 上一章我们介绍了关于Vue实例中一些基本用法,但是组件.自定义指令.Render函数这些放到了本章来介绍,原因是它们要比前面讲的要难一些,组件是Vue.js最核心的功能,学习使用组件也是必不可少 ...
- Vue.js之入门
1.What is Vue.js? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架,通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 2.引入 ...
- Vue.js进阶
<!-- 动态Props --><!DOCTYPE html> <html lang='utf-8'> <head> <meta charset= ...
- Vue.js学习 Item1 --快速入门
我们以 Vue 数据绑定的快速导览开始.如果你对高级概述更感兴趣,可查看这篇博文. 尝试 Vue.js 最简单的方法是使用 JSFiddle Hello World 例子.在浏览器新标签页中打开它,跟 ...
- vue.js语法
Vue.js是当下很火的一个JavaScript MVVM(Model-View-ViewModel)库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更 ...
随机推荐
- Spring Cloud Stream教程(三)持续发布 - 订阅支持
应用之间的通信遵循发布订阅模式,其中通过共享主题广播数据.这可以在下图中看到,它显示了一组交互式的Spring Cloud Stream应用程序的典型部署. 图6. Spring Cloud Stre ...
- es之批量提交操作
1:批量查询操作 1):插入测试数据 PUT /costumer/doc/1{ "name": "zhangsan", "age": 20} ...
- bootstrap editable 行内编辑
除了那些bootstrap/bootstrap table的js , css之外,要额外添加editable的文件: <link href="../assets/css/bootstr ...
- jieba (中文词频统计) 、collections (字频统计)、WordCloud (词云)
py库: jieba (中文词频统计) .collections (字频统计).WordCloud (词云) 先来个最简单的: # 查找列表中出现次数最多的值 ls = [1, 2, 3, 4, 5, ...
- 【Spark机器学习速成宝典】基础篇03数据读取与保存(Python版)
目录 保存为文本文件:saveAsTextFile 保存为json:saveAsTextFile 保存为SequenceFile:saveAsSequenceFile 读取hive 保存为文本文件:s ...
- 超过 150 个最佳机器学习,NLP 和 Python教程
超过 150 个最佳机器学习,NLP 和 Python教程 微信号 & QQ:862251340微信公众号:coderpai简书地址:http://www.jianshu.com/p/2be3 ...
- 在docker容器中调用docker命令
宿主容器均为CentOS7.6.1810 docker run -it --rm \ -v /usr/bin/docker:/usr/bin/docker \ -v /var/run/docker.s ...
- Spring 缓存注解解析过程
Spring 缓存注解解析过程 通过 SpringCacheAnnotationParser 的 parseCacheAnnotations 方法解析指定方法或类上的缓存注解, @Cacheable ...
- ping: sendto: No route to host
root@tuhooo:/home/ # ping www.baidu.comPING www.a.shifen.com (61.135.169.125): 56 data bytesping: se ...
- Jenkins Html Rport 使用frame报错解决办法
对于Blocked script execution in '<URL>' because the document's frame is sandboxed and the 'allow ...