Javascript 在Vue中调用方法时使用括号
在Vue中,为什么可以同时为侦听器分配Javascript 在Vue中调用方法时使用括号,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,在Vue中,为什么可以同时为侦听器分配()和不分配() newvue({ el:“应用程序”, 数据:{ 用户名:“你好,世界!” }, 方法:{ 更改名称:函数(e){ this.userName=“Name”+Math.random(); } } }) {{userName}} 这在中得到了很好的解释 基本上,事件处理程序可以是 方法名称,如@input=“changeName” 有效的Javascript语句,如@input=“changeName()”或@input=“userNa
()
和不分配()
newvue({
el:“应用程序”,
数据:{
用户名:“你好,世界!”
},
方法:{
更改名称:函数(e){
this.userName=“Name”+Math.random();
}
}
})
{{userName}}
这在中得到了很好的解释
基本上,事件处理程序可以是
- 方法名称,如
@input=“changeName”
- 有效的Javascript语句,如
或@input=“changeName()”
@input=“userName='Name'+Math.random()”
这两种情况在Vue中都是有效的。但也有一些不同之处 引述: @input=“changeName” 事件对象作为第一个事件传递给事件处理程序 仅将方法名称绑定为事件处理程序时的参数 @input=“changeName()” 或者,实际的方法调用可以用作事件处理程序。 这允许您将任何自定义参数传递给该方法
var handlerCode = isMethodPath
? ("return " + (handler.value) + "($event)")
: isFunctionExpression
? ("return (" + (handler.value) + ")($event)")
: handler.value;