@@ -90,38 +90,17 @@ module.exports = function (Vue, Router) {
9090 var router = this
9191 this . _guardRecognizer . add ( [ {
9292 path : path ,
93- handler : function ( match ) {
94- var realPath = mappedPath
95- if ( match . isDynamic ) {
96- for ( var key in match . params ) {
97- realPath = replaceParam ( realPath , match , key )
98- }
99- }
93+ handler : function ( match , query ) {
94+ var realPath = routerUtil . mapParams (
95+ mappedPath ,
96+ match . params ,
97+ query
98+ )
10099 handler . call ( router , realPath )
101100 }
102101 } ] )
103102 }
104103
105- /**
106- * Replace a param segment with real value in a matched
107- * path.
108- *
109- * @param {String } path
110- * @param {Object } match
111- * @param {String } key
112- * @return {String }
113- */
114-
115- function replaceParam ( path , match , key ) {
116- var regex = new RegExp ( ':' + key + '(\\/|$)' )
117- var value = match . params [ key ]
118- return path . replace ( regex , function ( m ) {
119- return m . charAt ( m . length - 1 ) === '/'
120- ? value + '/'
121- : value
122- } )
123- }
124-
125104 /**
126105 * Check if a path matches any redirect records.
127106 *
@@ -132,7 +111,7 @@ module.exports = function (Vue, Router) {
132111 p . _checkGuard = function ( path ) {
133112 var matched = this . _guardRecognizer . recognize ( path )
134113 if ( matched ) {
135- matched [ 0 ] . handler ( matched [ 0 ] )
114+ matched [ 0 ] . handler ( matched [ 0 ] , matched . queryParams )
136115 return true
137116 }
138117 }
0 commit comments