【问题标题】:Is it possible to pass an event as a prop together with other props in an event handler?是否可以将事件作为道具与事件处理程序中的其他道具一起传递?
【发布时间】:2020-12-11 03:55:42
【问题描述】:

我正在使用 vue2。我有一个事件处理程序

<textarea name="caption" :ref="`textarea-${index}`" keydown.prevent="handler(index)"></textarea>

当我没有将任何 prop 传递给事件处理程序时,keydown.prevent="handler" 我将 默认事件 作为一个 prop,但是当我传递我自己的 >自定义道具到事件处理程序 handler(index) 我得到了传递的道具。这是我的事件处理函数:function handler(event){ console.log(event)} 有没有办法让我的自定义道具和默认事件作为事件处理函数中的道具?我试过了: function handler(index, event){ console.log(index, event)} 但它不起作用。

【问题讨论】:

    标签: javascript vue.js events properties


    【解决方案1】:

    你可以像这样传递两个参数

    <textarea name="caption" :ref="`textarea-${index}`" keydown.prevent="handler($event, index)"></textarea>
    

    并在函数中获取它们

    function handler (event, index) { ... }
    

    【讨论】:

    • 这解决了我的问题。当您想在事件处理程序中触发事件时怎么办?怎么发货?
    • 您可以在事件处理程序function handler(event, index) { this.$emit ('myCustomEvent', event) }中发出一个新的自定义事件
    猜你喜欢
    • 2014-11-27
    • 2017-04-29
    • 2020-04-04
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多