В Angular можно отслеживать маршрутизатор на предмет маршрутизации событий ( см. Документ ).
Возможна ли аналогичная концепция для хуков жизненного цикла компонентов ( см. Документ )?
По сути, я хотел бы добиться своего рода трассировки для компонентов в приложении Angular. События маршрутизации легко отследить, но не все события жизненного цикла компонентов основаны на маршрутизации.
Я бы хотел избежать "ручной" реализации / дублирования внутри каждого компонента ngOnInit()
или onDestroy()
etc
. Э.Г.
export class MyAwesomeComponent implements OnInit, OnDestroy {
constructor (private someTraceImplementation) {}
public onOnit():void {
someTraceImplementation.trace('init', 'MyAwesomeComponent');
}
publicc onDestroy() {
someTraceImplementation.trace('destroy', 'MyAwesomeComponent');
}
}
export class LessAwesomeComponent implements OnInit, OnDestroy {
constructor (private someTraceImplementation) {}
public onOnit():void {
someTraceImplementation.trace('init', 'LessAwesomeComponent');
}
publicc onDestroy(): void {
someTraceImplementation.trace('destroy', 'LessAwesomeComponent');
}
}
Вывод трассировки в реализацию базового класса
export class TracingComponent implements OnInit, OnDestroy {
public onOnit():void {
someTraceImplementation.trace('init', 'LessAwesomeComponent');
}
public onDestroy(): void {
someTraceImplementation.trace('destroy', 'LessAwesomeComponent');
}
}
не помогает, так как MyAwesomeComponent
и LessAwesomeComponent
будут перезаписывать методы onInit
/ onDestroy
.
Можно ли сделать более общий / модульный подход?