Vue.directive()的用法和实例

vue

官网实例:

https://cn.vuejs.org/v2/api/#Vue-directive

https://cn.vuejs.org/v2/guide/custom-directive.html

指令定义函数提供了几个钩子函数(可选):

    bind: 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。

    inserted: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中)。

    update: 被绑定元素所在的模板更新时调用,而不论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新(详细的钩子函数参数见下)。

    componentUpdated: 被绑定元素所在模板完成一次更新周期时调用。

    unbind: 只调用一次, 指令与元素解绑时调用。



本人菜鸟型,看官网蒙圈,然后百度Vue.directive()的实例和用法,有的很高深,有的不健全,我贴上两个简单的demo,希望对看到的朋友有帮助:

1、官网给出的demo,刷新页面input自动获取焦点:

    <div v-drag>拖拽two</div>
    </div>



    Vue.directive('drag', {
        inserted:function(el){
            el.onmousedown=function(e){
                let l=e.clientX-el.offsetLeft;
                let t=e.clientY-el.offsetTop;
                document.onmousemove=function(e){
                    el.style.left=e.clientX-l+'px';
                    el.style.top=e.clientY-t+'px';
                };
                el.onmouseup=function(){
                    document.onmousemove=null;
                    el.onmouseup=null;
                }
            }
        }
    })
    new Vue({
      el:'#app'
    });

以上是 Vue.directive()的用法和实例 的全部内容, 来源链接: utcz.com/z/380317.html

回到顶部