File tree 1 file changed +18
-1
lines changed
1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -125,7 +125,24 @@ export default {
125
125
// in case the <a> is a static node
126
126
a . isStatic = false
127
127
const aData = ( a . data = extend ( { } , a . data ) )
128
- aData . on = on
128
+ aData . on = aData . on || { }
129
+ // transform existing events in both objects into arrays so we can push later
130
+ for ( const event in aData . on ) {
131
+ const handler = aData . on [ event ]
132
+ if ( event in on ) {
133
+ aData . on [ event ] = Array . isArray ( handler ) ? handler : [ handler ]
134
+ }
135
+ }
136
+ // append new listeners for router-link
137
+ for (const event in on) {
138
+ if ( event in aData . on ) {
139
+ // on[event] is always a function
140
+ aData . on [ event ] . push ( on [ event ] )
141
+ } else {
142
+ aData . on [ event ] = handler
143
+ }
144
+ }
145
+
129
146
const aAttrs = ( a . data . attrs = extend ( { } , a.data.attrs))
130
147
aAttrs.href = href
131
148
} else {
You can’t perform that action at this time.
0 commit comments