2017-02-14 8 views
1

Я бросаю ошибку в конструкторе или ngOnInit функции компонента.Angular2 Маршрутизация не работает после исключения в конструкторе компонента

Он обрабатывается моим CustomErrorHandler, но до этого он прерывает маршрутизацию.

Uncaught (in promise): Error: Error in http://localhost:8666/app/modules/orders/orders.component.html:1:46 caused by: Constructor error 
 
Error: Error in http://localhost:8666/app/modules/orders/orders.component.html:1:46 caused by: Constructor error at ViewWrappedError.ZoneAwareError 
 
(http://localhost:8666/node_modules/zone.js/dist/zone.js:811:33) at ViewWrappedError.BaseError [as constructor] 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:1190:20) at ViewWrappedError.WrappedError [as constructor] 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:1248:20) at new ViewWrappedError 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:6633:20) at CompiledTemplate.proxyViewClass.DebugAppView._rethrowWithContext 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:12903:27) at CompiledTemplate.proxyViewClass.DebugAppView.detectChanges 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:12876:22) at CompiledTemplate.proxyViewClass.AppView.internalDetectChanges 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:12711:22) at CompiledTemplate.proxyViewClass.View_OrdersComponent_Host0.detectChangesInternal 
 
(/OrdersModule/OrdersComponent/host.ngfactory.js:29:19) at CompiledTemplate.proxyViewClass.AppView.detectChanges 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:12726:18) at CompiledTemplate.proxyViewClass.DebugAppView.detectChanges 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:12873:48) at ViewRef_.detectChanges 
 
(http://localhost:8666/node_modules/@angular/core/bundles/core.umd.js:9915:24) at RouterOutlet.activate 
 
(http://localhost:8666/node_modules/@angular/router/bundles/router.umd.js:5027:46) at ActivateRoutes.placeComponentIntoOutlet 
 
(http://localhost:8666/node_modules/@angular/router/bundles/router.umd.js:4302:20) at ActivateRoutes.activateRoutes 
 
(http://localhost:8666/node_modules/@angular/router/bundles/router.umd.js:4269:30) at eval 
 
(http://localhost:8666/node_modules/@angular/router/bundles/router.umd.js:4205:62)

ответ

0

Я думаю, что это ожидаемое поведение. Вызов ApplicationRef.tick() в вашем пользовательском обработчике ошибок должен снова выполнить маршрутную работу.

+0

Как представляется, не работает – Cuel

+0

@Cuel В целом исключением является сбой приложения. Пользовательский обработчик ошибок предназначен только для ведения журнала ошибок (например, для сервера). Нет гарантии, что приложение будет возвращено в полезный статус после неперехваченного исключения. –

 Смежные вопросы

  • Нет связанных вопросов^_^