vue组件实现弹出框点击显示隐藏效果


Posted in Javascript onOctober 26, 2020

本文实例为大家分享了vue实现弹出框点击显示隐藏的具体代码,供大家参考,具体内容如下

效果如下图

vue组件实现弹出框点击显示隐藏效果 

由于我的更改密码弹出框是一个组件引用的,所以在一开始是隐藏的,这就需要在当前的页面上对弹出框组件设置v-show,但是在弹出框显示出来的时候,操作执行完后当前页面的更改按钮已经被弹出框覆盖了。所以只能在弹出页面点击取消实现关闭隐藏弹出框。这样就需要写两个点击事件,但是两个点击事件就会有冲突,需要点击两下才能使弹出框显示和隐藏。然后我就用的以下方法,希望可以帮到大家!!!

代码如下

1.在当前页面中(主页面)

<template>
 ......
 <ul>
 <li><span @click="ModifyPassword()">更改密码</span></li> //点击事件
 </ul>
 ......
 //组件传一个点击事件@hidden="hiddenShow",而这个点击事件就是下面的hiddenShow()函数
 <ModifyPassword @hidden="hiddenShow" v-show="ModifyPassword_pop_up"> </ModifyPassword> //调用组件
</template>
<script>
 import ModifyPassword from '@/components/pop-up/ModifyPassword.vue //引入组件
 export default {
 data(){
 return{
 date:'',
 ModifyPassword_pop_up:false,
 history_pop_up:false
 }
 },
 components:{
 ModifyPassword //引用组件
 },
 methods:{
 //更改密码弹出框显示(组件引用的弹出框)
 ModifyPassword(){
 this.ModifyPassword_pop_up=true
 },
 //更改密码弹出框隐藏(传给组件一个点击事件)
 hiddenShow(){
 let that = this;
 that.ModifyPassword_pop_up = false
 }
 }
 }
</script>

2.在弹出框组件页面中(更改密码)

<template>
 ......
 <div class="foot">
  <input type="button" name="OK" value="提交" class="yes" >
  //在取消按钮这里调用点击事件
  <input type="button" name="cancel" value="取消" class="no" @click="Hidden()">
  </div>
 ......
</ModifyPassword> 
</template>
<script>
 export default {
 data(){
 return{}
 },
 methods:{
 //本更改密码弹出框的显示隐藏事件
 Hidden(){
 //通过$emit引用组件传过来的hidden()事件
 this.$emit('hidden')
 }
 }
 }
</script>

虽然Vue 有很多UI组件。但是让内容比较多比较复杂的时候,还是需要自己写一个的。本案主要是运用了$emit监听,组件传事件。如果有更好的方案欢迎大家一起交流。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript的事件描述
Sep 08 Javascript
9个javascript语法高亮插件 推荐
Jul 18 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 Javascript
用js获取电脑信息(是使用与IE浏览器)
Jan 15 Javascript
基于JS实现的笛卡尔乘积之商品发布
May 13 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
jquery实现下拉框多选方法介绍
Jan 03 Javascript
Bootstrap table简单使用总结
Feb 15 Javascript
Bootstrap Table使用整理(五)之分页组合查询
Jun 09 Javascript
JS实现数组去重方法总结(六种方法)
Jul 14 Javascript
vue props传值失败 输出undefined的解决方法
Sep 11 Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 #Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 #Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 #Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 #Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 #Javascript
React Native日期时间选择组件的示例代码
Apr 27 #Javascript
vue实现点击展开点击收起效果
Apr 27 #Javascript
You might like
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
优化使用mysql存储session的php代码
2008/01/10 PHP
PHP执行速率优化技巧小结
2008/03/15 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
javascript removeChild 使用注意事项
2009/04/11 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
玩转vue的slot内容分发
2018/09/22 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
Django中template for如何使用方法
2021/01/31 Python
Aosom西班牙:家具在线商店
2020/06/11 全球购物
酒店保洁主管岗位职责
2013/11/28 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
高中社区服务活动报告
2015/02/05 职场文书
实习推荐信格式模板
2015/03/27 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
MySQL 全文检索的使用示例
2021/06/07 MySQL
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android