因为一个滑动删除的需求,所以简单写了一份vue自定义指令删除事件。
vue的自定义指令,分为全局和局部的,两者写法其实差距并不大。举例:
<li v-moveDel v-for="(item,index)> //全局 Vue.directive('moveDel',{ bind: function (el,binding) { el.style.background = 'red';//el即为被绑定的元素 console.log(binding.value.index);//binding.value可以获取被绑定元素的一些属性值 }); }, unbind: function () { // } }); //局部 directives:{ moveDel:{ bind: function (el,binding) { }, unbind: function () { // } }
一切都很顺利,照着上面的格式写自定指令都ok,但在绑定数据绑定自定义指令时,发现一个被渲染的数据获取的高度为null,其余的反而完好。
解决办法,加上一个一次性的定时器就ok了,这可能就是vue的自定义指定绑定的一个坑。