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>  
  • 相关阅读:
    jq幻灯片2013-8-31
    jq设置样式
    KindEditor编辑器常用操作
    深入理解JavaScript模拟私有成员
    后台常见报错处理和注意问题(二)
    从项目上一个子查询扩展学习开来:mysql的查询、子查询及连接查询
    在MySQL中使用子查询和标量子查询的基本用法
    HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
    SQL中的cast()函数
    模糊搜索:concat各种函数详解、like操作符、通配符
  • 原文地址:https://www.cnblogs.com/chaofei/p/7709119.html
Copyright © 2011-2022 走看看