自定义指令

vue为我们提供了自定义指令功能

自定义指令语法规则

Vue.directive('自定义指令名' , {
   inserted: function(el) {
        // el 获取到的元素
       el.focus();
    } 
})

  带参数的自定义指令

<input type="text" v-color="col">
<script>
    Vue.directive('color', {
           inserted: function(el, binding) {
               el.style.backgroundColor = binding.value.color;
            }
        })
    var vm = new Vue({
            el: '#app',
            data: {
                col: {
                    color: 'red'
                }
            },
        })
</script>

 局部自定义指令 (组件中接受一个directives的选项)

<input type="text" v-focus>
<input type="text" v-color="col">
<script>
        var vm = new Vue({
            el: '#app',
            data: {
                col: {
                    color: 'orange'
                }
            },
            directives: {
                color: {
                    inserted: function(el, binding) {
                        el.style.backgroundColor = binding.value.color;
                    }
                },
                focus: {
                    inserted: function(el) {
                        el.focus();
                        
                    }
                }
            }
        })
    </script>

  

自定义指令用法 (在自定义指令名前面加v-)

<input type="text" v-color="col">
<input type="text" v-focus>    
上一篇:Node js 升级后导致的异常


下一篇:vue使用自定义指令监听元素宽、高变化