Vue.directive使用注意(小结)
指令钩子函数会被传入以下参数:
具体事例clickoutside.js 用途:clickoutside.js主要用于解决点解元素外的地方时执行函数 主要应用的常见有弹出层点击遮罩层是隐藏窗口,或者一些弹出层点击其他地方要消失的场景 v-clickoutside具体是怎么实现的 答:主要是通过在bind中定义函数 通过判断是否包含元素,执行binding.value函数 document.addEventListener('click',documentHandler)
},update (el,binding) { },unbind(el) { Vue.directive使用注意首先,Vue.directive要在实例初始化之前,不然会报错,还有,定义的指令不支持驼峰式写法,也会报下面同样的错,虽然在源码中没有找到在哪里统一处理大小写,但是在有关directive的方法中捕捉到的指令命名统一变为小写,所以,还是用'-'或者'_'分割吧。
然后,其定义方式有两种,一种是Vue.directive('xxx',function(el,bind,vNode){}),其中el为dom,vNode为vue的虚拟dom,bind为一较复杂对象,详情可见Vue-directive钩子函数中的参数的参数,还有一种,为 参数代表的含义,参见钩子函数描述 最后,要使用自定义的指令,只需在对用的元素中,加上'v-'的前缀形成类似于内部指令'v-if','v-text'的形式。 当然,也可以将method中的方法加入,bind.value即为methods中的方法。
这种形式,可以模仿'v-once',并进行一定的复杂逻辑,但是想要完全达到'v-once',可能需要考虑Vue-directive的钩子函数各个周期。下面是固定num的值,使得add的方法无效。
因为小生刚刚接触vue,所以,希望前辈能多加指点。也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |