Issue
I am using angular 13 and I have a custom error component, I am handling the httpresponse error in my interceptor like if any error happens I will invoke the error component with :
error: (err: HttpErrorResponse) => {
if (err.status === <whichever> && err.statusText === '<text>') {
this.router.navigate(['error']);
In my router I have defined the route as below:
{
path: 'error',
component: ErrorComponent,
}
In the ErrorComponent I have a variable msg, and in the template I am showing it like this:
<div *ngIf="msg">
<div class="error">{{ msg }}</div>
</div>
How can I pass data to this component from the interceptor? I would like to pass the err.message from httperror response.
Solution
Since you want to communicate from an Interceptor to your routed component, I would use a service with a subject.
Here is a StackBlitz demo. This demo showcases component communication with an intermediary service, but you would use that service in the exact same way to communicate between your interceptor and your component.
Answered By - Vasileios Kagklis
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.