File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -125,7 +125,24 @@ export default {
125125 // in case the <a> is a static node
126126 a . isStatic = false
127127 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+
129146 const aAttrs = ( a . data . attrs = extend ( { } , a.data.attrs))
130147 aAttrs.href = href
131148 } else {
You can’t perform that action at this time.
0 commit comments