¿Podemos hacer algo como esto en Vue o tengo que usar solo la función de flecha?
<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>El enlace v-on puede aceptar una función o una expresión como controlador de eventos. Una función que evalúa una expresión no se usará como controlador de eventos en este caso.
Este código simplemente ejecuta someMethodWrapper e ignora una función que devuelve. Podría ser viable llamándolo explícitamente:
@someEvent="someMethodWrapper(data)($event)" En este punto, no tiene un buen propósito hacer que someMethodWrapper funcione de orden superior, podría cambiar la firma para adaptarse mejor al caso:
someMethodWrapper(someotherData, data) {...}y
@someEvent="someMethodWrapper($event, data)"