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 相关文章推荐
ExtJS下grid的一些属性说明
Dec 13 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
Jul 29 Javascript
如何将网页表格内容导入excel
Feb 18 Javascript
JavaScript常用脚本汇总(二)
Mar 04 Javascript
jQuery往返城市和日期查询实例讲解
Oct 09 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
Django+vue跨域问题解决的详细步骤
Jan 20 Javascript
express.js中间件说明详解
Mar 19 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 Javascript
vue模块移动组件的实现示例
May 20 Javascript
详解JavaScript执行模型
Nov 16 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
PHP反射基础知识回顾
2020/09/10 PHP
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
python+mysql实现简单的web程序
2014/09/11 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
旺仔牛奶广告词
2014/03/20 职场文书
家长会主持词
2014/03/26 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
走进科学观后感
2015/06/18 职场文书
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS