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 相关文章推荐
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
Dec 16 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
Sep 24 Javascript
jQuery实现鼠标经过事件的延时处理效果
Aug 20 Javascript
jquery实现简易的移动端验证表单
Nov 08 Javascript
js全选按钮的实现方法
Nov 17 Javascript
JS操作JSON方法总结(推荐)
Jun 14 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
JavaScript 详解预编译原理
Jan 22 Javascript
旺旺在线客服代码 旺旺客服代码生成器
Jan 09 Javascript
Vue实现Layui的集成方法步骤
Apr 10 Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
header跳转和include包含问题详解
2012/09/08 PHP
Symfony控制层深入详解
2016/03/17 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Python subprocess模块学习总结
2014/03/13 Python
python插入数据到列表的方法
2015/04/30 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
python excel和yaml文件的读取封装
2021/01/12 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
Java语言程序设计测试题选择题部分
2014/04/03 面试题
优秀求职信范文分享
2014/01/26 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
聘任通知书
2015/09/21 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android