fix(frontend): router遷移時にmatchAllに入った場合一度`location.href`を経由するように (#13509)

* fix(frontend): router遷移時にmatchAllに入った場合一度`location.href`を経由するように

* Update Changelog

* Update CHANGELOG.md

* remove unnecessary args
This commit is contained in:
かっこかり 2024-03-05 17:27:33 +09:00 committed by GitHub
parent 83a5bc0ecd
commit 45672a70f9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 9 deletions

View File

@ -4,7 +4,7 @@
- -
### Client ### Client
- - Fix: 一部のページ内リンクが正しく動作しない問題を修正
### Server ### Server
- -

View File

@ -373,7 +373,7 @@ export class Router extends EventEmitter<RouterEvent> implements IRouter {
this.currentRoute.value = res.route; this.currentRoute.value = res.route;
this.currentKey = res.route.globalCacheKey ?? key ?? path; this.currentKey = res.route.globalCacheKey ?? key ?? path;
if (emitChange) { if (emitChange && res.route.path !== '/:(*)') {
this.emit('change', { this.emit('change', {
beforePath, beforePath,
path, path,
@ -408,6 +408,9 @@ export class Router extends EventEmitter<RouterEvent> implements IRouter {
if (cancel) return; if (cancel) return;
} }
const res = this.navigate(path, null); const res = this.navigate(path, null);
if (res.route.path === '/:(*)') {
location.href = path;
} else {
this.emit('push', { this.emit('push', {
beforePath, beforePath,
path: res._parsedRoute.fullPath, path: res._parsedRoute.fullPath,
@ -416,6 +419,7 @@ export class Router extends EventEmitter<RouterEvent> implements IRouter {
key: this.currentKey, key: this.currentKey,
}); });
} }
}
public replace(path: string, key?: string | null) { public replace(path: string, key?: string | null) {
const res = this.navigate(path, key); const res = this.navigate(path, key);

View File

@ -48,6 +48,9 @@ const devConfig = {
}, },
'/url': httpUrl, '/url': httpUrl,
'/proxy': httpUrl, '/proxy': httpUrl,
'/_info_card_': httpUrl,
'/bios': httpUrl,
'/cli': httpUrl,
}, },
}, },
build: { build: {