routerLink not updating url value when changed

I think I see what is happening. I added a break-point in the algorithm that determines if the routerLink should be active; and, it looks like the local urlTree isn’t actually updated at the point that the NavigationEnd event is evaluated. In the following screenshot, I’ve navigated to ..../1/screens/1/.... ; but, the routerLink urlTree is still checking against the previous url, ..../1/screens/2/.... :

2017-11-18_06-16-07

Perhaps there is a race condition with the QueryList<RouterLink> in the RouterLinkActive directive - in which the DOM isn’t updated yet, at the time the NavigationEnd event has fired.