Skip to content

Commit 7d5abe8

Browse files
committed
add $arguments variable in component events inline statement #1945
1 parent 076e3f1 commit 7d5abe8

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/instance/internal/events.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,18 @@ export default function (Vue) {
3232

3333
function registerComponentEvents (vm, el) {
3434
var attrs = el.attributes
35-
var name, handler
3635
for (var i = 0, l = attrs.length; i < l; i++) {
37-
name = attrs[i].name
36+
let name = attrs[i].name
3837
if (eventRE.test(name)) {
3938
name = name.replace(eventRE, '')
40-
handler = (vm._scope || vm._context).$eval(attrs[i].value, true)
41-
vm.$on(name.replace(eventRE), handler)
39+
const scope = vm._scope || vm._context
40+
const handler = scope.$eval(attrs[i].value, true)
41+
vm.$on(name.replace(eventRE), function (...args) {
42+
scope.$arguments = args
43+
const result = handler.apply(this, args)
44+
scope.$arguments = null
45+
return result
46+
})
4247
}
4348
}
4449
}

0 commit comments

Comments
 (0)