时间:2021-05-26
目标
使用vue2.0实现自定义弹窗指令,当标签有该指令时,点击标签可以弹出弹窗
实现
<!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自定义弹窗指令的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面给大家分享vue自定义指令拖拽功能代码,具体代码如下所示:实例方法//自定义指令Vue.directive('drag',function(){varoDi
1.Vue指令 Vue提供自定义实现指令的功能,和组件类似,可以是全局指令和局部指令,详细可以参见vue官网自定义指令一节(https://cn.vuejs.
本文实例讲述了Vue自定义指令功能。分享给大家供大家参考,具体如下:自定义指令自定义指令{{num}}加一解绑functionunbind(){//vue提供的
本文实例总结了vue自定义指令用法。分享给大家供大家参考,具体如下:自定义指令:一、属性:Vue.directive(指令名称,function(参数){thi
本文实例讲述了Vue使用自定义指令实现拖拽行为。分享给大家供大家参考,具体如下:需求通过自定义指令的方式实现拖拽效果,预期的使用方式为:XXXX更重要的一个需求