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 相关文章推荐
如何用js控制css中的float的代码
Aug 16 Javascript
基于jquery的Repeater实现代码
Jul 17 Javascript
基于jquery的商品展示放大镜
Aug 07 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
javascript实现确定和取消提示框效果
Jul 10 Javascript
基于jquery css3实现点击动画弹出表单源码特效
Aug 31 Javascript
JavaScript实现通过select标签跳转网页的方法
Sep 29 Javascript
jQuery读取XML文件的方法示例
Feb 03 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
Dec 19 Javascript
微信小程序通过保存图片分享到朋友圈功能
May 24 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 Javascript
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
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
各种咖啡的英文名子是什么
2021/03/03 新手入门
开发大型PHP项目的方法
2006/10/09 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
第五章 php数组操作
2011/12/30 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
python使用列表的最佳方案
2020/08/12 Python
Python gevent协程切换实现详解
2020/09/14 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
2020/11/05 Python
计算机软件专业求职信
2014/06/10 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
区域经理岗位职责
2015/02/02 职场文书
2015年个人思想总结
2015/03/09 职场文书
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python