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>  
  • 相关阅读:
    设计模式代理模式
    设计模式建造者模式(生成器模式)
    SQL SERVER SA 无法登陆的解决方法
    [转]ASP.NET编程技巧10则
    键盘伪码
    MICROSOFT和ADOBE干上了?
    WINDOWS2003域控制器禁止U盘
    Dameware在Winxp下权限配置
    FTP操作
    WinForm 鼠标在页面无操作时页面关闭
  • 原文地址:https://www.cnblogs.com/chaofei/p/7709119.html
Copyright © 2011-2022 走看看