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 相关文章推荐
浏览器常用高宽的jquery插件
Feb 24 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
Apr 07 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 Javascript
使用node.js 获取客户端信息代码分享
Nov 26 Javascript
浅析script标签中的defer与async属性
Nov 30 Javascript
详解使用Node.js 将txt文件转为Excel文件
Jul 05 Javascript
Vue在页面数据渲染完成之后的调用方法
Sep 11 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
js实现无缝滚动双图切换效果
Jul 09 Javascript
js页面加载后执行的几种方式小结
Jan 30 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
Oct 31 Javascript
js中延迟加载和预加载的具体使用
Jan 14 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
apache rewrite_module模块使用教程
2008/01/10 PHP
php面向对象全攻略 (十五) 多态的应用
2009/09/30 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
javascript实现数独解法
2015/03/14 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
vue中的inject学习教程
2019/04/24 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
Django数据库表反向生成实例解析
2018/02/06 Python
详解python中的线程
2018/02/10 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
Python smtplib实现发送邮件功能
2018/05/22 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
浅析Python requests 模块
2020/10/09 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
会计学个人自荐信模板
2013/12/13 职场文书
门前三包责任书
2014/04/15 职场文书
新闻人物通讯稿
2014/10/09 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技