Vue3中方法处理器和内联处理器在功能上没有什么区别是吗?

模板编译器会通过检查 v-on 的值是否是合法的 JavaScript 标识符或属性访问路径来断定是何种形式的事件处理器。举例来说,foofoo.barfoo['bar'] 会被视为方法事件处理器,而 foo()count++ 会被视为内联事件处理器。

请问下,@click="foo()" 也是调用方法和直接 @click="foo" 有什么区别呢?
为何 @click="foo()" 是内联处理器而不是方法处理器?
方法处理器和内联处理器在功能上没有什么区别是吗?

阅读 2.5k
1 个回答

要说区别也有

foo() 最后会变成一个 () => foo() 这样的函数,这就导致 foo 拿不到 event 参数

而直接 foofoo 可以收到 event 参数

https://sfc.vuejs.org/#eNp1kM...

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