我们可以在Vue中做这样的事情吗?或者我只能使用箭头函数。
<template>
<vue-component
v-for="(data, index) in someArr"
@someEvent="someMethodWrapper(data)"
>
</vue-component>
</template>
<script>
methods: {
someMethodWrapper(data) {
return (someotherData) => {
this.setNewProperty = { [data]: someOtherData }
}
}
}
</script>
v-on
绑定可以接受函数或表达式作为事件处理程序。在这种情况下,表达式求值的函数不会用作事件处理程序。
这段代码只执行someMethodWrapper
并忽略它返回的函数。可以显式调用它:
@someEvent="someMethodWrapper(data)($event)"
在这一点上,使someMethodWrapper
成为高阶函数并不是一个很好的目的,它可以改变签名以更好地适应这种情况:
someMethodWrapper(someotherData, data) {...}
和
@someEvent="someMethodWrapper($event, data)"