背景:今天遇到一个问题,项目中引用了一个组件,其中有一个事件返回了需要保存的数据,但没有
返回这个信息是对应的哪个组件上的,所以需要传入一个额外的参数去告知这个数据应该存在哪个实例里。
先看看具体场景:
<vue-draggable-resizable ref="vdr" @resizing="onResizing">
function onResizing(x, y, width, height){
...
}
component: {
vdr: {
x: ,
y: ,
...
},
...
}
我们需要在resizing事件触发的时候将新的x、y、width和height存放到component中对应的object里,其实我们就是需要额外的将组件的ref传到函数中。
解决方法:
<vue-draggable-resizable ref="vdr" @resizing="onResizing('vdr', arguments)">
function onResizing(refValue, data)
...
}
component: {
vdr: {
x: ,
y: ,
...
},
...
}
其中arguments/data就是resizing事件返回的x、y、width和height组成的数组,具体原理可以参考这篇文章, 我目前对v-on的原理并不了解,只记下这个方法不深入讲解,以免不误人子弟,若以后理解其中原理再来补全这篇博客。