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脚本实现Web页面信息交互
Dec 21 Javascript
编写高性能的JavaScript 脚本的加载与执行
Apr 19 Javascript
关于javascript中的typeof和instanceof介绍
Dec 04 Javascript
公共js在页面底部加载的注意事项介绍
Jul 18 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
Jul 13 Javascript
详解Vue 动态组件与全局事件绑定总结
Nov 11 Javascript
JavaScript实现shuffle数组洗牌操作示例
Jan 03 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
Oct 30 Javascript
npm ci命令的基本使用方法
Sep 20 Javascript
OpenLayers3加载常用控件使用方法详解
Sep 25 Javascript
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 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
php + nginx项目中的权限详解
2017/05/23 PHP
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
Python判断字符串与大小写转换
2015/06/08 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
python反转列表的三种方式解析
2019/11/08 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
公司财务工作总结的自我评价
2013/11/23 职场文书
心理健康心得体会
2014/01/02 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
中国好声音广告词
2014/03/18 职场文书
应届大学生求职信
2014/07/20 职场文书
教师节倡议书
2014/08/30 职场文书
优秀员工事迹材料
2014/12/20 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
《风筝》教学反思
2016/02/23 职场文书
竞聘书的秘诀
2019/04/02 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技