Commit bd23683
committed
fix: Route name missing for routes that have children
With page structure like
```
pages/posts.vue
pages/posts/extra.vue
```
`posts.vue` is a parent route and `extra.vue` is a child route.
Former has `posts` name and latter has `posts_extra` name.
Removing name from parent route makes parent route inaccessible
through name and thus breaks internal functions like `localePath`
and `switchLocalePath`.
Fix by not removing names from routes.
And also checking if name exists at all before trying to add locale
as with some file structures, for example:
```
pages/posts.vue
pages/posts/index.vue
```
the parent `posts.vue` route has no name as `posts` name is assigned
to child and child is shown by default when going to /posts.
Trying to add locale in that case ended up with route named
`undefined_xx`.
Resolves #3561 parent e547639 commit bd23683
2 files changed
Lines changed: 20 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
76 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
80 | | - | |
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| |||
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
99 | | - | |
100 | | - | |
| 100 | + | |
101 | 101 | | |
102 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
103 | 105 | | |
104 | 106 | | |
105 | 107 | | |
| |||
109 | 111 | | |
110 | 112 | | |
111 | 113 | | |
112 | | - | |
| 114 | + | |
113 | 115 | | |
114 | 116 | | |
115 | 117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
140 | 151 | | |
141 | 152 | | |
142 | 153 | | |
| |||
0 commit comments