refactor(router): 优化路由重定向配置与组件初始化逻辑
- 设置默认重定向路由为 '/' - 修复路由实例化后未正确调用 init 方法的问题 - 移除不必要的控制台日志输出 - 调整路由守卫中 next 回调的参数传递方式 - 导出 Router 类时增加空格以符合代码风格 - 更新时间戳组件导入方式并移除冗余初始化调用 - 为定时器管理器添加清理功能的日志提示 - 从 BaseComponent 中移除调试日志并修复定时器返回值处理
This commit is contained in:
@@ -4,7 +4,7 @@ class Router {
|
||||
this.beforeFun = null;
|
||||
this.afterFun = null;
|
||||
this.routerViewId = 'app';
|
||||
this.redirectRoute = null;
|
||||
this.redirectRoute = '/';
|
||||
this.stackPages = true;
|
||||
this.routerMap = [];
|
||||
|
||||
@@ -22,6 +22,7 @@ class Router {
|
||||
this.routerMap = config?.routes || this.routerMap;
|
||||
this.routerViewId = config?.routerViewId || this.routerViewId;
|
||||
this.stackPages = config?.stackPages ?? this.stackPages;
|
||||
this.redirectRoute = config?.redirectRoute || this.redirectRoute;
|
||||
this.map();
|
||||
|
||||
// 监听路由变化
|
||||
@@ -54,10 +55,10 @@ class Router {
|
||||
*/
|
||||
urlChange() {
|
||||
const path = location.hash.replace('#', '') || this.redirectRoute;
|
||||
console.log('当前路由:', path);
|
||||
const route = this.routes[path];
|
||||
|
||||
if (!route) {
|
||||
// 当前路由不存在时,返回到设置的重定向页面
|
||||
location.hash = this.redirectRoute;
|
||||
return;
|
||||
}
|
||||
@@ -93,7 +94,7 @@ class Router {
|
||||
}
|
||||
|
||||
const newInstance = await this.scriptManager.getComponentInstance(route.name);
|
||||
console.log(`newInstance${newInstance}`);
|
||||
console.log(newInstance);
|
||||
if (newInstance) {
|
||||
this.currentinstance = newInstance;
|
||||
if (typeof newInstance.init === 'function') {
|
||||
@@ -106,9 +107,9 @@ class Router {
|
||||
};
|
||||
|
||||
if (this.beforeFun) {
|
||||
this.beforeFun({to: route, next: doChange});
|
||||
this.beforeFun({ to: route, next: doChange });
|
||||
} else {
|
||||
doChange().then(r => console.log(r));
|
||||
doChange().then(r => r);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,4 +136,4 @@ class Router {
|
||||
}
|
||||
}
|
||||
|
||||
export {Router};
|
||||
export { Router };
|
||||
|
||||
@@ -53,6 +53,8 @@ export function handleStartTimer(timestampInterval, showMilliseconds) {
|
||||
const stopTimestampBtn = document.getElementById('stop-timer-btn');
|
||||
const currentTimestampValue = document.getElementById('current-timestamp-value');
|
||||
|
||||
console.log('开始计时器');
|
||||
console.log(`timestampInterval:${timestampInterval}`);
|
||||
// 添加计时器
|
||||
if (timestampInterval) {
|
||||
window.timerManager.clearInterval(timestampInterval);
|
||||
|
||||
Reference in New Issue
Block a user