• 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之computed与watch的使用
    Vue之组件的生命周期
    Vue之过滤器的使用
    Vue之父子组件的通信
    Vue之组件的使用
    Vue之数据绑定
    Vue之指令系统
    20182316胡泊 课程总结
    20182316胡泊 《数据结构与面向对象程序设计》实验9报告
    20182316胡泊 第10周学习总结
  • 原文地址:https://www.cnblogs.com/mica/p/11276447.html
Copyright © 2020-2023  润新知