@@ -56,11 +56,11 @@ class Routes {
56
56
} , { query, parsedUrl} )
57
57
}
58
58
59
- findAndGetUrls ( nameOrUrl , params ) {
59
+ findAndGetUrls ( nameOrUrl , params , trailingSlash ) {
60
60
const route = this . findByName ( nameOrUrl )
61
61
62
62
if ( route ) {
63
- return { route, urls : route . getUrls ( params ) , byName : true }
63
+ return { route, urls : route . getUrls ( params , trailingSlash ) , byName : true }
64
64
} else {
65
65
const { route, query} = this . match ( nameOrUrl )
66
66
const href = route ? route . getHref ( query ) : nameOrUrl
@@ -89,11 +89,11 @@ class Routes {
89
89
90
90
getLink ( Link ) {
91
91
const LinkRoutes = props => {
92
- const { route, params, to, ...newProps } = props
92
+ const { route, params, to, trailingSlash , ...newProps } = props
93
93
const nameOrUrl = route || to
94
-
94
+
95
95
if ( nameOrUrl ) {
96
- Object . assign ( newProps , this . findAndGetUrls ( nameOrUrl , params ) . urls )
96
+ Object . assign ( newProps , this . findAndGetUrls ( nameOrUrl , params , trailingSlash ) . urls )
97
97
}
98
98
99
99
return < Link { ...newProps } />
@@ -148,12 +148,12 @@ class Route {
148
148
return `${ this . page } ?${ toQuerystring ( params ) } `
149
149
}
150
150
151
- getAs ( params = { } ) {
151
+ getAs ( params = { } , trailingSlash ) {
152
152
const as = this . toPath ( params ) || '/'
153
153
const keys = Object . keys ( params )
154
154
const qsKeys = keys . filter ( key => this . keyNames . indexOf ( key ) === - 1 )
155
155
156
- if ( ! qsKeys . length ) return as
156
+ if ( ! qsKeys . length ) return ( ! trailingSlash ) ? as : ` ${ as } /`
157
157
158
158
const qsParams = qsKeys . reduce ( ( qs , key ) => Object . assign ( qs , {
159
159
[ key ] : params [ key ]
@@ -162,8 +162,8 @@ class Route {
162
162
return `${ as } ?${ toQuerystring ( qsParams ) } `
163
163
}
164
164
165
- getUrls ( params ) {
166
- const as = this . getAs ( params )
165
+ getUrls ( params , trailingSlash ) {
166
+ const as = this . getAs ( params , trailingSlash )
167
167
const href = this . getHref ( params )
168
168
return { as, href}
169
169
}
0 commit comments