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 相关文章推荐
javascript图像处理—仿射变换深度理解
Jan 16 Javascript
js 动态修改css文件的方法
Aug 05 Javascript
原生js实现无缝轮播图效果
Jan 11 Javascript
JS区分Object与Aarry的六种方法总结
Feb 27 Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 Javascript
React实践之Tree组件的使用方法
Sep 30 Javascript
VUE 使用中踩过的坑
Feb 08 Javascript
nginx部署访问vue-cli搭建的项目的方法
Feb 12 Javascript
JavaScript实现微信号随机切换代码
Mar 09 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
使用react context 实现vue插槽slot功能
Jul 18 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 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执行.SQL文件
2013/07/05 PHP
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
php注册登录系统简化版
2020/12/28 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
js对数字的格式化使用说明
2011/01/12 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
纯JS实现轮播图
2017/02/22 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
Vue实现todolist删除功能
2018/06/26 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python3基础之基本运算符概述
2014/08/13 Python
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
python的unittest测试类代码实例
2017/12/07 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
2018/11/29 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
文秘专业个人求职信
2013/12/22 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书