Skip to content

Commit 038fa1e

Browse files
committed
fix: use full names in meta data to avoid collisions
1 parent cd76733 commit 038fa1e

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

modules/RouteNode.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,9 @@ export default class RouteNode {
204204
}
205205

206206
getMetaFromSegments(segments) {
207-
return segments.reduce((meta, segment) => {
207+
let accName = '';
208+
209+
return segments.reduce((meta, segment, i) => {
208210
const urlParams = segment.parser.urlParams.reduce((params, p) => {
209211
params[p] = 'url';
210212
return params;
@@ -215,7 +217,8 @@ export default class RouteNode {
215217
return params;
216218
}, urlParams);
217219

218-
meta[segment.name] = allParams;
220+
accName = accName ? accName + '.' + segment.name : segment.name;
221+
meta[accName] = allParams;
219222
return meta;
220223
}, {});
221224
}

test/main.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ describe('RouteNode', function () {
131131
node.buildState('users.view', {id: 1}).should.eql({
132132
_meta: {
133133
users: {},
134-
view: {
134+
'users.view': {
135135
id: 'url'
136136
}
137137
},
@@ -148,7 +148,7 @@ describe('RouteNode', function () {
148148
node.matchPath('/users/view/1').should.eql({
149149
_meta: {
150150
users: {},
151-
view: {
151+
'users.view': {
152152
id: 'url'
153153
}
154154
},

0 commit comments

Comments
 (0)