update
This commit is contained in:
+18
-3
@@ -8,7 +8,8 @@ export function createRouteMap (
|
||||
routes: Array<RouteConfig>,
|
||||
oldPathList?: Array<string>,
|
||||
oldPathMap?: Dictionary<RouteRecord>,
|
||||
oldNameMap?: Dictionary<RouteRecord>
|
||||
oldNameMap?: Dictionary<RouteRecord>,
|
||||
parentRoute?: RouteRecord
|
||||
): {
|
||||
pathList: Array<string>,
|
||||
pathMap: Dictionary<RouteRecord>,
|
||||
@@ -22,7 +23,7 @@ export function createRouteMap (
|
||||
const nameMap: Dictionary<RouteRecord> = oldNameMap || Object.create(null)
|
||||
|
||||
routes.forEach(route => {
|
||||
addRouteRecord(pathList, pathMap, nameMap, route)
|
||||
addRouteRecord(pathList, pathMap, nameMap, route, parentRoute)
|
||||
})
|
||||
|
||||
// ensure wildcard routes are always at the end
|
||||
@@ -70,6 +71,14 @@ function addRouteRecord (
|
||||
path || name
|
||||
)} cannot be a ` + `string id. Use an actual component instead.`
|
||||
)
|
||||
|
||||
warn(
|
||||
// eslint-disable-next-line no-control-regex
|
||||
!/[^\u0000-\u007F]+/.test(path),
|
||||
`Route with path "${path}" contains unencoded characters, make sure ` +
|
||||
`your path is correctly encoded before passing it to the router. Use ` +
|
||||
`encodeURI to encode static segments of your path.`
|
||||
)
|
||||
}
|
||||
|
||||
const pathToRegexpOptions: PathToRegexpOptions =
|
||||
@@ -84,7 +93,13 @@ function addRouteRecord (
|
||||
path: normalizedPath,
|
||||
regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),
|
||||
components: route.components || { default: route.component },
|
||||
alias: route.alias
|
||||
? typeof route.alias === 'string'
|
||||
? [route.alias]
|
||||
: route.alias
|
||||
: [],
|
||||
instances: {},
|
||||
enteredCbs: {},
|
||||
name,
|
||||
parent,
|
||||
matchAs,
|
||||
@@ -114,7 +129,7 @@ function addRouteRecord (
|
||||
`Named Route '${route.name}' has a default child route. ` +
|
||||
`When navigating to this named route (:to="{name: '${
|
||||
route.name
|
||||
}'"), ` +
|
||||
}'}"), ` +
|
||||
`the default child route will not be rendered. Remove the name from ` +
|
||||
`this route and use the name of the default child route for named ` +
|
||||
`links instead.`
|
||||
|
||||
Reference in New Issue
Block a user