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 相关文章推荐
js模拟类继承小例子
Jul 17 Javascript
基于JQuery的Select选择框的华丽变身
Aug 23 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
Aug 28 Javascript
ajax级联菜单实现方法实例分析
Nov 28 Javascript
关于redux-saga中take使用方法详解
Feb 27 Javascript
vue-cli脚手架引入图片的几种方法总结
Mar 13 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
CryptoJS中AES实现前后端通用加解密技术
Dec 18 Javascript
详解JavaScript函数callee、call、apply的区别
Mar 08 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
深入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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
PHP DataGrid 实现代码
2009/08/12 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
用js遍历 table的脚本
2008/07/23 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
Python实现命令行通讯录实例教程
2016/08/18 Python
python删除过期log文件操作实例解析
2018/01/31 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
python reverse反转部分数组的实例
2018/12/13 Python
Python数据可视化之画图
2019/01/15 Python
python程序控制NAO机器人行走
2019/04/29 Python
tensorboard显示空白的解决
2020/02/15 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
解决python3输入的坑——input()
2020/12/05 Python
python字典按照value排序方法
2020/12/28 Python
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
JAVA软件工程师测试题
2014/07/25 面试题
运动会加油口号
2014/06/07 职场文书
项目安全员岗位职责
2015/02/15 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书