首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能否从Vue中的方法属性返回一个函数并使用它作为事件处理程序?

我能否从Vue中的方法属性返回一个函数并使用它作为事件处理程序?
EN

Stack Overflow用户
提问于 2022-06-13 14:42:47
回答 1查看 49关注 0票数 0

我们可以在Vue中这样做吗,或者我只能使用箭头函数。

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-14 17:29:32

v-on绑定可以接受函数或表达式作为事件处理程序。在这种情况下,表达式计算为的函数不会用作事件处理程序。

这段代码只执行someMethodWrapper并忽略它返回的函数。通过明确地称它为:

代码语言:javascript
复制
@someEvent="someMethodWrapper(data)($event)" 

在这一点上,使someMethodWrapper高阶函数不是一个好的目的,它可以更改签名以更好地适应这种情况:

代码语言:javascript
复制
someMethodWrapper(someotherData, data) {...}

代码语言:javascript
复制
@someEvent="someMethodWrapper($event, data)" 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72604744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档