The behaviour we want for our site is that if a user clicks the menu link for the page (route) they're currently on, then the page (component) is reloaded. So any forms are reset etc.
I have been reading how this isn't the built in behaviour in Angular. I have been playing with a custom RouteReuseStrategy (examples such as How to implement RouteReuseStrategy shouldDetach for specific routes in Angular 2), and even without the complexity of that, there seems to be a fundamental issue with that approach. If I click the menu link for the current page, then none of the methods in my custom implementation of RouteReuseStrategy are called, even though they are all called as expected if I click a link to a different route. So this makes me think that no matter what code I put in my custom RouteReuseStrategy then this will never work, because it's not called if the routerLink is the current route.
I did also read that this same behaviour (resetting forms etc) should be accomplished by having some reset() method on the form component. This ends up with the same issue. Namely, what can I hook into to detect that the user has clicked a routerLink to the current route?
I have tried subscribing to router.events, which again triggers for any actual navigation between routes, but if the routerLink is the current one, then no router events are raised.
What can I hook into when a routerLink to the currently active route is clicked?