<p dir="auto">Not sure if it's an intended behavior, anyway it seems that Angular2 doesn't assign the active state (the "router-link-active" class) to a routerLink element when its corresponding route  contains query string params.<br>
You can reproduce this situation with the official routing example itself:<br>
<a href="https://angular.io/resources/live-examples/router/ts/plnkr.html" rel="nofollow">https://angular.io/resources/live-examples/router/ts/plnkr.html</a></p>
<ul dir="auto">
<li>Click on "heroes" to step in the Horoes list view (note how the active class has been correctly assigned to the Heroes anchor element in the navbar)</li>
<li>Choose one from the list ( the new route removes the active state from the heroes link)</li>
<li>Click on the back button</li>
<li>You're back in the hero list view, but the Heroes anchor element hasn't been given the router-link-active class in the navbar</li>
</ul>
<p dir="auto">The last click triggers the following:<br>
this._router.navigate(['Heroes',  {id: heroId, foo: 'foo'} ]);</p>
<p dir="auto">As stated in the doc "Unfortunately, the browser address bar does not change when running the live example in plunker." anyway "The id value appears in the query string (?id=15&amp;foo=foo), not in the URL path. The path for the "Heroes" route doesn't have an :id token."</p>
<p dir="auto"><strong>I'm submitting a ...</strong>  (check one with "x")</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[x] bug report =&gt; search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question"><pre class="notranslate"><code class="notranslate">[x] bug report =&gt; search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre></div>
<p dir="auto"><strong>Current behavior</strong></p>
<blockquote>
<p dir="auto">Navigate to a route that has child routes.<br>
Navigate to one of the child routes.<br>
Navigate back to top level route.<br>
Navigate to any other root. (this is where you receive the error)</p>
</blockquote>
<p dir="auto"><strong>Expected behavior</strong></p>
<blockquote>
<p dir="auto">Navigate to a route that has child routes.<br>
Navigate to one of the child routes.<br>
Navigate back to top level route.<br>
Navigate to any other root. (without receiving the error)</p>
</blockquote>
<p dir="auto"><strong>Minimal reproduction of the problem with instructions</strong></p>
<p dir="auto">Step1<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/11085642/21839481/a89d433a-d7e0-11e6-83a8-1c87ae363619.png"><img src="https://cloud.githubusercontent.com/assets/11085642/21839481/a89d433a-d7e0-11e6-83a8-1c87ae363619.png" alt="1" style="max-width: 100%;"></a></p>
<p dir="auto">Step2<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/11085642/21839484/acbd7516-d7e0-11e6-8fb3-8daa9f959b7d.png"><img src="https://cloud.githubusercontent.com/assets/11085642/21839484/acbd7516-d7e0-11e6-8fb3-8daa9f959b7d.png" alt="2" style="max-width: 100%;"></a></p>
<p dir="auto">Step3<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/11085642/21839488/afdd9d2a-d7e0-11e6-9299-3fdbf902eae9.png"><img src="https://cloud.githubusercontent.com/assets/11085642/21839488/afdd9d2a-d7e0-11e6-9299-3fdbf902eae9.png" alt="3" style="max-width: 100%;"></a></p>
<p dir="auto">Step4<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/11085642/21839490/b2d85d58-d7e0-11e6-8ade-e4261b4b4aa5.png"><img src="https://cloud.githubusercontent.com/assets/11085642/21839490/b2d85d58-d7e0-11e6-8ade-e4261b4b4aa5.png" alt="4" style="max-width: 100%;"></a></p>
<p dir="auto">Error<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/11085642/21839493/b59b608a-d7e0-11e6-86de-955d1adcd4ff.png"><img src="https://cloud.githubusercontent.com/assets/11085642/21839493/b59b608a-d7e0-11e6-86de-955d1adcd4ff.png" alt="error" style="max-width: 100%;"></a></p>
<p dir="auto"><a href="https://plnkr.co/edit/GuQuWnW2GsfnBOVyWQRh?p=preview" rel="nofollow">https://plnkr.co/edit/GuQuWnW2GsfnBOVyWQRh?p=preview</a></p>
<p dir="auto"><strong>What is the motivation / use case for changing the behavior?</strong><br>
To fix the bug</p>
<p dir="auto"><strong>Please tell us about your environment:</strong><br>
ASP.Net Core</p>
<ul dir="auto">
<li>
<p dir="auto"><strong>Angular version:</strong> 3.1.1</p>
</li>
<li>
<p dir="auto"><strong>Angular/router Version:</strong> 3.3.1</p>
</li>
<li>
<p dir="auto"><strong>Browser:</strong> [Chrome]</p>
</li>
<li>
<p dir="auto"><strong>Language:</strong> [TypeScript 1.0.3.0 | ES6 | ES5]</p>
</li>
<li>
<p dir="auto"><strong>Node (for AoT issues):</strong> <code class="notranslate">node v6.9.2</code></p>
</li>
</ul>