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里创建JSON数据然后遍历使用
Jul 25 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
Sep 02 Javascript
js基于setTimeout与setInterval实现多线程
Jun 17 Javascript
easyui messager alert 三秒后自动关闭提示的实例
Nov 07 Javascript
JavaScript数组迭代方法
Mar 03 Javascript
js css3实现图片拖拽效果
Mar 04 Javascript
利用require.js与angular搭建spa应用的方法实例
Jul 19 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
webuploader分片上传的实现代码(前后端分离)
Sep 10 Javascript
vue-cli 3.x配置跨域代理的实现方法
Apr 12 Javascript
微信小程序手动添加收货地址省市区联动
May 18 Javascript
详解Node.js使用token进行认证的简单示例
May 25 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绘图技术
2013/07/03 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
深入学习python多线程与GIL
2019/08/26 Python
Numpy的简单用法小结
2019/08/28 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
软件测试常见笔试题
2012/02/04 面试题
教师年度考核评语
2014/04/28 职场文书
八项规定整改方案
2014/10/01 职场文书
钱学森观后感
2015/06/04 职场文书
React如何创建组件
2021/06/27 Javascript
如何在Python中妥善使用进度条详解
2022/04/05 Python