Vue中事件回调event与原生js里的event比较

411 阅读1分钟

1.从前端最常用的target属性为例看一下: 原生js的如图:

1639361835(1).jpg 再来看一下Vue里的截图(注意这里的点击事件是添加到vue某个组件里的情况,如果添加到普通dom元素上,和原生js回调没有差异!还有一点小伙伴们要记得,组件添加点击事件要加.native后缀哦,否则添加不上!):

%G~4SFGGPFUIAI98DL}2KM2.png 很明显 event.target对象多了两个属性 一个是__vue__,另一个是_prevClass, __vue__是vue组件的实例对象,_prevClass是当前实例对象挂载dom元素的class属性。所以现在我们就可以通过 event.target.__vue__获取到当前点击的vue组件的实例了!!

所以请看完整代码: 组件添加点击回调如下:

<bsv-title @click.native="showModal('aa',$event)">各科室办件效率分析</bsv-title>

点击事件showModal:

showModal(str,event){
  console.log(str,event.target.__vue__)
  // str:aa
  //event.target.__vue__ :当前点击的组件的vue实例
},