zoukankan      html  css  js  c++  java
  • Vue自定义指令

    使用Vue.directive();

    1.直接自定义名称 :red

    <!DOCTYPE html>  
    <html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">  
        <meta name="apple-mobile-web-app-capable" content="yes">  
        <meta name="apple-mobile-web-app-status-bar-style" content="black">  
        <style>  
      
        </style>  
        <script src="vue.js"></script>  
        <script>  
            Vue.directive('red',function(){  
                this.el.style.background='red';  
            });  
      
            window.onload=function(){  
                var vm=new Vue({  
                    el:'#box',  
                    data:{  
                        msg:'welcome'  
                    }  
                });  
            };  
      
        </script>  
    </head>  
    <body>  
        <div id="box">  
            <span v-red>  
                asdfasd  
            </span>  
        </div>  
      
    </body>  
    </html>  

    效果:

    2.使用v-名称,在data中设置属性

    <!DOCTYPE html>  
    <html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">  
        <meta name="apple-mobile-web-app-capable" content="yes">  
        <meta name="apple-mobile-web-app-status-bar-style" content="black">  
        <style>  
      
        </style>  
        <script src="vue.js"></script>  
        <script>  
            Vue.directive('red',function(color){  
                this.el.style.background=color;  
            });  
      
            window.onload=function(){  
                var vm=new Vue({  
                    el:'#box',  
                    data:{  
                        a:'blue'  
                    }  
                });  
            };  
      
        </script>  
    </head>  
    <body>  
        <div id="box">  
            <span v-red="a">  
                asdfasd  
            </span>  
        </div>  
      
    </body>  
    </html>  

    3.使用v-名称,直接设置属性名称

    <!DOCTYPE html>  
    <html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">  
        <meta name="apple-mobile-web-app-capable" content="yes">  
        <meta name="apple-mobile-web-app-status-bar-style" content="black">  
        <style>  
      
        </style>  
        <script src="vue.js"></script>  
        <script>  
            Vue.directive('red',function(color){  
                this.el.style.background=color;  
            });  
      
            window.onload=function(){  
                var vm=new Vue({  
                    el:'#box'  
                });  
            };  
      
        </script>  
    </head>  
    <body>  
        <div id="box">  
            <span v-red="'blue'">  
                asdfasd  
            </span>  
        </div>  
      
    </body>  
    </html>  

    效果:

     

    5.Vue自定义拖拽指令

    <!DOCTYPE html>  
    <html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">  
        <meta name="apple-mobile-web-app-capable" content="yes">  
        <meta name="apple-mobile-web-app-status-bar-style" content="black">  
        <style>  
        </style>  
        <script src="vue.js"></script>  
        <script>  
            Vue.directive('drag',function(){  
                var oDiv=this.el;  
                oDiv.onmousedown=function(ev){  
                    var disX=ev.clientX-oDiv.offsetLeft;  
                    var disY=ev.clientY-oDiv.offsetTop;  
      
                    document.onmousemove=function(ev){  
                        var l=ev.clientX-disX;  
                        var t=ev.clientY-disY;  
                        oDiv.style.left=l+'px';  
                        oDiv.style.top=t+'px';  
                    };  
                    document.onmouseup=function(){  
                        document.onmousemove=null;  
                        document.onmouseup=null;  
                    };  
                };  
            });  
      
            window.onload=function(){  
                var vm=new Vue({  
                    el:'#box',  
                    data:{  
                        msg:'welcome'  
                    }  
                });  
            };  
      
        </script>  
    </head>  
    <body>  
        <div id="box">  
            <div v-drag :style="{'100px', height:'100px', background:'blue', position:'absolute', right:0, top:0}"></div>  
            <div v-drag :style="{'100px', height:'100px', background:'red', position:'absolute', left:0, top:0}"></div>  
        </div>  
      
    </body>  
    </html>  
  • 相关阅读:
    asp网站中使用百度ueditor教程
    URL特殊字符需转义
    织梦DEDE文章列表前面自动加递增数字标签
    dede修改templets模板文件夹后,出现“无法在这个位置找到: ”错误的解决办法
    Mysql命令大全
    成功,来自有梦想,肯坚持
    飞天侠模板的相关修改教程
    bios自检时间长,显示0075错误
    电脑桌面假死解决方法
    没有哪个人是随随便便成功的
  • 原文地址:https://www.cnblogs.com/chaofei/p/7709119.html
Copyright © 2011-2022 走看看