vue的事件绑定是绑定到html元素本身吗?

<ul>
    <li v-for="(item, index) in data" @click="handleClick(index)">
        Click Me
    </li>
</ul>

vue的click应该不是绑定在li元素上,那li的事件绑定在哪个元素上?是和react一样绑定在document上吗?

阅读 2.8k
3 个回答

https://defed.github.io/Vue%E...

/* @flow */

import { warn } from 'core/util/index'

export default function on (el: ASTElement, dir: ASTDirective) {
  if (process.env.NODE_ENV !== 'production' && dir.modifiers) {
    warn(`v-on without argument does not support modifiers.`)
  }
  el.wrapListeners = (code: string) => `_g(${code},${dir.value})`
}

源码是这样的,绑定的应该是当前节点,传进了一个element进去

源码地址:https://github.com/vuejs/vue/...

希望对您有用

这样写没错啊

不是绑定到元素本身的,和react一样的。不确定是不是绑定到document上还是根元素上,总之就是一个事件委托

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题