我可以返回一个函数从方法属性在Vue和使用它作为事件处理程序?



我们可以在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)" 

相关内容

  • 没有找到相关文章

最新更新