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>  
  • 相关阅读:
    [转]Navicat Premium 12试用期的破解方法
    Redis禁用持久化功能的设置
    阿里云ECS安装的redis服务器,用java代码去连接报错。
    关于Jedis连接Linux上的redis出现 DENIED Redis is running in protected mode问题的解决方案
    修改了jdk在环境变量中的路径怎么cmd中的jdk版本没有变
    阿里云上部署tomcat启动后,通过http不能访问
    【终结篇】不要再问我程序员该如何提高了……
    我是怎么把一个项目带崩的
    eterm和easyfare的官网地址
    java UTC时间和local时间相互转换
  • 原文地址:https://www.cnblogs.com/chaofei/p/7709119.html
Copyright © 2011-2022 走看看