在Angular中,当出现未捕获的错误时,可以通过使用全局错误处理器来处理它。以下是一种解决方法:
global-error-handler.ts
文件,并实现 ErrorHandler
接口:import { ErrorHandler, Injectable } from '@angular/core';
@Injectable()
export class GlobalErrorHandler implements ErrorHandler {
handleError(error: any) {
// 处理错误逻辑
console.error('An error occurred:', error);
// 重定向到基本URL
window.location.href = '/';
}
}
app.module.ts
)中提供全局错误处理器:import { ErrorHandler } from '@angular/core';
import { GlobalErrorHandler } from './global-error-handler';
@NgModule({
// ...
providers: [
// ...
{ provide: ErrorHandler, useClass: GlobalErrorHandler }
],
// ...
})
export class AppModule { }
这样,当出现未捕获的错误时,会调用全局错误处理器中的 handleError
方法来处理错误,并重定向回基本URL。
请注意,这种方法只会在发生未捕获的错误时重定向,如果想在其他地方进行重定向,可以在需要的地方调用 window.location.href = '/'
。
上一篇:Angular - 未捕获的 TypeError: 无法读取未定义的属性 'totalQuestions'
下一篇:Angular - 未捕获的ReferenceError: $未定义于Object../src/assets/dist/js/pages/dashboard2.js。