Vue自定义命令

自定义指令分为两个部分:

1-元素指令
2-属性指令

元素指令相当于定义一个轻量级的组件
对于指令这里需要讲解一下钩子函数,对于Vue.js提供了几个钩子函数,这几个钩子函数之间都是可选的,相互并不制约。

钩子函数的作用就是:
将作用域与DOM进行链接,链接函数用来创建可以操作DOM的指令


钩子函数分类:
bind - 只调用一次,在指令第一次绑定到元素上时候调用
update - 在bind之后立即以初始值为参数第一次调用,之后绑定值变化的时候,参数为新值与旧值
unbind - 只调用一次,在指令从元素上解绑的时候调用


定义属性指令:

Vue.directive(id,definition)注册一个全局自定义指令,接收两个参数,指令ID以及定义对象

定义元素指令:

Vue.elementDirective(id,definition)注册一个全局自定义指令,接收两个参数,指令ID以及定义对象

一个自定义指令的DEMO

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>VUE测试项目</title>
</head>
<script src="https://unpkg.com/vue/dist/vue.js"></script>

<!--HTML文件-->
<body id="example">
    <div id="demo" v-demo="{color : 'white',text : 'hello!'}"></div>
</body>

<!--JS文件-->
<script>
window.onload = function(){
    Vue.directive('demo',function(value){
        console.info(value.color); //white
        console.info(value.text); // hello!
    })

    var demo = new Vue({
        el : '#demo'
    })
}
</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值