Vue自定义弹窗指令的实现代码


Posted in Javascript onAugust 13, 2018

目标

使用vue2.0实现自定义弹窗指令,当标签有该指令时,点击标签可以弹出弹窗

Vue自定义弹窗指令的实现代码

实现

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
 <div id="app">
  <button id="btn" v-popup="{text: '这是一个自定义的弹窗'}">点击我弹窗哈哈哈</button>
  <div id="d"></div>
 </div>
 <script>
   Vue.directive('popup', {
    inserted: function (el, binding) {
     // console.log(binding.value.text)
     var o = el;
     var myDiv = document.createElement('div');
     myDiv.style.width = '300px';
     // myDiv.style.height = '130px';
     myDiv.style.position = 'fixed';
     myDiv.style.top = '50%';
     myDiv.style.left = '50%';
     myDiv.style.transform = 'translate(-50%, -100%)';
     myDiv.style.zIndex = '100';
     myDiv.style.backgroundColor = '#f3f5f8';
     myDiv.style.display = 'none';
     myDiv.style.textAlign = 'center';
     myDiv.style.paddingTop = '15px'
     myDiv.style.borderRadius = '5px';
     myDiv.style.borderWidth = '1px';
     myDiv.style.borderStyle = 'solid';
     myDiv.style.borderColor = '#696969';
     var myContent = document.createElement('p');
     var myText = document.createTextNode(binding.value.text);
     var btnWrapper = document.createElement('div')
     btnWrapper.style.marginTop = '20px'
     btnWrapper.style.marginBottom = '20px'
     var myConfirm = document.createElement('input');
     myConfirm.type = 'button';
     myConfirm.value = '确定';
     myConfirm.style.marginRight = '15px'
     var myCancel = document.createElement('input');
     myCancel.type = 'button';
     myCancel.value = '取消';
     btnWrapper.appendChild(myConfirm)
     btnWrapper.appendChild(myCancel)
     myDiv.appendChild(myContent.appendChild(myText))
     myDiv.appendChild(btnWrapper)
     document.body.appendChild(myDiv);
     o.onclick = function (event) {
      myDiv.style.display = 'block'
     }
     myConfirm.onclick = function (event) {
      myDiv.style.display = 'none'
     }
     myCancel.onclick = function (event) {
      myDiv.style.display = 'none'
     }
    }
   })
   var vm = new Vue({
    el: '#app',
    data:{
    }
   })
 </script>
</body>
</html>

总结

以上所述是小编给大家介绍的Vue自定义弹窗指令的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
学习ExtJS 访问容器对象
Oct 07 Javascript
jquery 插件实现图片延迟加载效果代码
Feb 06 Javascript
Js组件的一些写法
Sep 10 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
使用Jquery实现点击文字后变成文本框且可修改
Sep 21 Javascript
遍历DOM对象内的元素属性示例代码
Feb 08 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 Javascript
javascript常用函数(1)
Nov 04 Javascript
js实现textarea限制输入字数
Feb 13 Javascript
vue 使用html2canvas将DOM转化为图片的方法
Sep 11 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
Jan 21 Javascript
深入Vue-Router路由嵌套理解
Aug 13 #Javascript
AngularJS与后端php的数据交互方法
Aug 13 #Javascript
Vue Promise的axios请求封装详解
Aug 13 #Javascript
Angular6封装http请求的步骤详解
Aug 13 #Javascript
解决angularjs中同步执行http请求的方法
Aug 13 #Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 #Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 #Javascript
You might like
PHP中的日期处理方法集锦
2007/01/02 PHP
php设计模式小结
2013/02/15 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
php之可变函数的实例详解
2017/09/13 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
javascript 闭包详解
2015/02/15 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
多版本Python共存的配置方法
2017/05/22 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
python读取各种文件数据方法解析
2018/12/29 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
python识别验证码图片实例详解
2020/02/17 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
Python join()函数原理及使用方法
2020/11/14 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
最新自我评价范文
2013/11/16 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
2014年个人师德工作总结
2014/12/04 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
Python装饰器的练习题
2021/11/23 Python
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python