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封装 Cookie 应用接口
Aug 07 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
JS实现滑动门效果的方法详解
Dec 19 Javascript
Angular resolve基础用法详解
Oct 03 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
Apr 30 Javascript
js实现简单放大镜效果
Mar 07 Javascript
js 闭包深入理解与实例分析
Mar 19 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
May 13 Javascript
深入了解JS之作用域和闭包
Jun 16 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 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转成EXE文件
2006/10/09 PHP
PHP下MAIL的另一解决方案
2006/10/09 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
js+html5实现复制文字按钮
2017/07/15 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
vue实现计算器功能
2020/02/22 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python Flask实现restful api service
2017/12/04 Python
python实现Windows电脑定时关机
2018/06/20 Python
python实现Zabbix-API监控
2018/09/17 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
企业内控岗位的职责
2014/02/07 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server