内联(模板)事件处理程序中的Vue 2参数

vue.js Vue.js

伽罗

2020-03-30

是否可以在内联/模板处理程序中访问传递给已发出事件的参数/参数?就像是:

<component @some-event="someObject.field = $arguments[0]"></component

我想做的正是为范围内的对象分配一个值。我知道我可以创建一个方法来将其用作事件的处理程序,但我想知道这是否可以作为内联语句使用。

第3857篇《内联(模板)事件处理程序中的Vue 2参数》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
番长樱梅 2020.03.30

它不是$arguments[0],而只是arguments[0](没有$)。令我惊讶的是,它实际上在嵌入式处理程序中有效。因此,以下代码有效,并且可以正常工作:

<component @some-event="someObject.field = arguments[0]"></component>

内联处理程序中方法的文档指定$event为特殊变量,该变量获取通过事件传递的第一个参数。到目前为止,我一直都使用它。

阅读完您的问题后,经过更多的研究,使我得到了以下参考:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments

似乎每个javascript函数都有一个名为的局部变量arguments,该变量在期望函数获得可变数量的参数时使用。

arguments[]绝对可以使用内联语句,但是在vue.js框架的上下文中没有任何记录。另一方面,如果您$event在事件中使用内联处理程序,则感觉很安全,因为它已清楚地记录在文档中,并且不会在以后的Vue.js版本中中断

的样本用法$event

<component @some-event="someObject.field = $event"></component>

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android