vue15 自定义元素指令、标签指令

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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‘;//this是vm对象,
        });
        window.onload=function(){
            var vm=new Vue({
                el:‘#box‘,
                data:{
                    msg:‘welcome‘
                }
            });
        };

    </script>
</head>
<body>
    <div id="box">
        <span v-red>  <!-- 自定义指令,v-开头,属性指令-->
            asdfasd
        </span>
    </div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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(‘a-red‘,function(){//directive扩展指令,
            this.el.style.background=‘red‘;
        });
        window.onload=function(){
            var vm=new Vue({
                el:‘#box‘,
                data:{
                    msg:‘welcome‘
                }
            });
        };
    </script>
</head>
<body>
    <div id="box">
        <span a-red>
            asdfasd
        </span>
    </div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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>
        <span v-red>
            asdfasd
        </span>
        <span v-red>
            asdfasd
        </span>
    </div>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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‘,{
            bind:function(){
                this.el.style.background=‘red‘;
            }
        });

        window.onload=function(){
            var vm=new Vue({
                el:‘#box‘
            });
        };

    </script>
</head>
<body>
    <div id="box">
        <span v-red>
            asdfasd
        </span>
    </div>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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;//div
            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="{width:‘100px‘, height:‘100px‘, background:‘blue‘, position:‘absolute‘, right:0, top:0}"></div>
        <div v-drag :style="{width:‘100px‘, height:‘100px‘, background:‘red‘, position:‘absolute‘, left:0, top:0}"></div>
    </div>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>智能社——http://www.zhinengshe.com</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>
        zns-red{
            width:100px;
            background: black;
            height:100px;
            display: block;
        }
    </style>
    <script src="vue.js"></script>
    <script>  //元素指令 用的少
        Vue.elementDirective(‘zns-red‘,{
            bind:function(){
                this.el.style.background=‘red‘;
            }
        });

        window.onload=function(){
            var vm=new Vue({
                el:‘#box‘,
                data:{
                    a:‘blue‘
                }
            });
        };

    </script>
</head>
<body>
    <div id="box">
        <zns-red></zns-red>
    </div>

</body>
</html>
时间: 2024-08-04 16:16:01

vue15 自定义元素指令、标签指令的相关文章

JSP(工作原理,组成部分,指令标签,动作标签,隐式对象)

目录 JSP JSP 什么是JSP JSP全名为Java Server Pages 中文名叫java服务器页面 它是在传统的网页HTML文件(.htm,.html)中插入Java程序段和JSP标记 后缀名为(*.jsp). 其根本是一个简化的Servlet设计 为什么要有JSP 直接使用Html文件是没有办法输出Java当中的信息 使用servlet来去输出一个网页非常的麻烦 于是就出现了jsp,又能写html,又能写Java代码 JSP的工作原理 设置JSP创建时的编码 本质就是一个servl

jsp include指令标签

假设须要在JSP页面内某处总体嵌入一个文件,就能够考虑使用这个指令标签. 该指令标签例如以下: <%@ include file ="文件的名字"%> 该指令标签的作用是在JSP页面出现该指令的位置处,静态插入一个文件. 被插入的必须是可訪问的和可使用的.即该文件必须和当前JSP页面在同一web服务文件夹中.所谓静态插入,就是指当前JSP页面和插入的部分合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成为一个JSP页面文件. 比方,假设一个JSP页面使用i

jsp 指令标签

page指令 Page指令用来定义整个JSP页面的一些属性和这些属性的值. 例如我们可以用page指令定义JSP页面的contentType属性的值是text/html;charset=GB2312,这样,我们的页面就可以显示标准汉语,如: <%@ page contentType="text/html;charset=GB2312"%> Page指令格式 <%@ page 属性1="属性1的值" 属性2="属性2的值" ...

[email&#160;protected]指令与指令之间的交互demo

1.index.html: <!DOCTYPE HTML><html ng-app="app"><head>    <title>custom-directive</title>    <meta charset="utf-8">        <link rel="stylesheet" href="../css/bootstrap.css">

前端Vue框架 02 斗篷指令:v-cloak, 指令: 属性指令:v-bind, 表单指令:v-model, 条件指令:v-show v-if, 循环指令:v-for

1.斗篷指令(了解) """ v-cloak:避免屏幕闪烁 1)属性选择器,会将v-cloak属性所在的标签隐藏 2)当vue环境加载后,会将v-cloak属性解析移除,所以内容{{ num }}就会显示出来 3)而现在vue已经准备完毕,所以用户会直接看到数值10,而不会看到 页面从{{ num }}闪烁成数值10 """ <style> [v-cloak] { display: none; } </style> <

探讨angularJS中指令与指令的通信

指令这节是最难也是最重要的一节,接下来我们来学习一下指令和指令之间是如何通信的. 一.我们要实现的效果如下: 二.源码示例 控制器部分代码示例 /* * accordion可折叠扩展菜单示例 * 涉及指令嵌套,指令与指令之间的通信 */ myDirec.controller("SomeController2",function($scope) { $scope.expanders = [{ title : 'Click me to expand', text : 'Hi there f

自定义元素–为你的HTML代码定义新元素

注意:这篇文章介绍的 API 尚未完全标准化,并且仍在变动中,在项目中使用这些实验性 API 时请务必谨慎. 引言 现在的 web 严重缺乏表达能力.你只要瞧一眼“现代”的 web 应用,比如 GMail,就会明白我的意思: 堆砌 <div> 一点都不现代.然而可悲的是,这就是我们构建 web 应用的方式.在现有基础上我们不应该有更高的追求吗? 您还可以参考以下HTML5/CSS3相关文章:<使用CSS3开启GPU硬件加速提升网站动画渲染性能><HTML5 WebSocket

一、变量.二、过滤器(filter).三、标签(tag).四、条件分支tag.五、迭代器tag.六、自定义过滤器与标签.七、全系统过滤器(了解)

一.变量 ''' 1.视图函数可以通过两种方式将变量传递给模板页面 -- render(request, 'test_page.html', {'变量key1': '变量值1', ..., '变量keyn': '变量值n'}) -- render(request, 'test_page.html', locals()) # locals() 就是将视图函数中的所有变量都传递给模板页面 2.模板页面中对变量的使用 def dtl(request): num = 3.14 ss = '大碗宽面' #

使用 custom element 创建自定义元素

很早我们就可以在 HTML 文档中写 <custome-element></custom-element> 这样的自定义名称标签.但是浏览器对于不认识的标签一律当成一个普通的行内元素处理,没有相关语义.虽然我们能用 JavaScript 代码给它添加一些功能,但是并没有生命周期相关的函数供我们做一些初始化和销毁的处理. 通过浏览器提供的 Custom elements api 我们能定义一个自定义元素,并且告知 HTML 解析器如何正确地构造一个元素,以及在该元素的属性变化时执行相