Vue3中方法处理器和内联处理器在功能上没有什么区别是吗?
模板编译器会通过检查v-on
的值是否是合法的 JavaScript 标识符或属性访问路径来断定是何种形式的事件处理器。举例来说,foo
、foo.bar
和foo['bar']
会被视为方法事件处理器,而foo()
和count++
会被视为内联事件处理器。
请问下,@click="foo()"
也是调用方法和直接 @click="foo"
有什么区别呢? 为何 @click="foo()"
是内联处理器而不是方法处理器?方法处理器和内联处理器在功能上没有什么区别是吗?
回复
1个回答

test
2024-07-11
要说区别也有
foo()
最后会变成一个 () => foo()
这样的函数,这就导致 foo
拿不到 event
参数
而直接 foo
,foo
可以收到 event
参数
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容