Załóżmy, że mam następujący komponent:Jak złapać błędy wbudowanego szablonu w Angular 2?
@Component({
template: '<div>{{foo.bar}}</div>'
})
class DemoComponent {
foo = undefined;
}
zauważyć, jak ja próbuje uzyskać dostęp do obiektu o wartości nieokreślonej bar
. To generuje błąd podobny do:
Error in class DemoComponent - inline template:1:9 caused by: Cannot read property 'bar' of undefined
chciałbym nadrobić ten błąd za pomocą custom ErrorHandler
:
class LoggingErrorHandler implements ErrorHandler {
constructor(private logger: Logger) {
}
handleError(error: any): void {
this.logger.error(error);
}
}
Jednak metoda handleError
nie jest wywoływana za błędy szablonów. Mój niestandardowy moduł obsługi błędów działa dobrze dla innych błędów - tylko nie błędów szablonu. Jak więc złapać błędy szablonu?
Co jest nie tak? https://plnkr.co/edit/mvNJ61VJUlI5oITQJzaN?p=preview – yurzui
Dziękuję za plunker. Tak, wygląda na to, że działa dobrze. Moja aplikacja to hybryda Angular1/Angular2. Nie wiem jeszcze na pewno, ale przypuszczam, że to powoduje problemy i jest przyczyną, dla której niestandardowy ErrorHandler nie działa dla mnie. – battmanz
może to jedna z tych rzadkich sytuacji, kiedy to pytanie wymaga podwójnych znaczników angular/angularjs – JGFMK