vue自定义指令的创建和使用

为什么?

vue自带的指令很多,v-for/v-if/v-show/v-on/v-bind/v-text/v-html等等,但是这些指令比较偏向工具化,在实现具体业务逻辑的时候根本不够用,所以往往需要自定义指令

如何创建自定义指令?

局部自定义指令

new Vue({
            el:"#container",
            directives:{
                change:{
                    bind:function(){}

                    update:function(){}

                    unbind:function(){}
                }
            }
        })

全局指令

Vue.directive('自定义指令名称',function(el,bindings){})

在自定义指令时,在指令对应的配置对象中有三个处理函数指令对应的操作

bind 指的是指定绑定到元素时需要执行的操作

update 在调用指令的时候,传了参数,当参数变化的时候,会执行update所指定的方法

unbind   解绑需要执行的操作

如何调用自定义指令?

v-指令名称

vue自定义指令的创建和使用

小练习 

实现一个自定义指令change-background-color  

在调用指令的时候,可以传递参数,根据参数的值,修改调用该指令的元素的背景颜色

vue自定义指令的创建和使用

注意事项 

建议在指令命名的时候采用小驼峰命名方式,例如changeBackgroundColor,在调用的时候采用烤串式写法  例如--change-background-color