Router Navigation and Query Parameters in Angular2 [RC5]
<p>I am trying to do the following: </p>

<p>In very abstract terms, I have a <code>ListComponent</code> and a <code>FilterComponent</code>. The <code>ListComponent</code> contains a list of resources and the filter's job is to filter those resources (the filter is an actual component displayed alongside the list, backed by a filter model). </p>

<p>I want the filter to work on multiple different routes, as the <code>ListComponent</code> lives in several locations. The challenge is to collect the filter properties from the filter and reflect them in the query params of the route, so if <code>/list</code> is the current route and we change the filter component's properties (by clicking some filters, let's call them <code>foo</code> and <code>bar</code>), the route should change to <code>/list;foo=X;bar=Y</code>. </p>

<p>Is there any easy way to achieve this ? 
If there was a way to do something like this in the <code>ListComponent</code>: </p>

<p><code>this._router.navigate(['./', filter.params])</code></p>

<p>which effectively would route to the route we are currently on, merely updating the parameters. This would be nice (if we assume that the route is not nested in any way). </p>

<p>As this does not seem to be possible, I tried something like this in the <code>ListComponent</code>:</p>

<pre><code>ngOnInit(){

    this._activeRoute.url
    .subscribe(
      (data) =&gt; {

        this._url = "/" + data.map(urlPathWithParams =&gt; urlPathWithParams.path ).join("/");  
      }
    )

  } 
</code></pre>

<p>which basically goes ahead, gets the current url upon initiation and stores it in a local variable to be used when the filter changes in this method: </p>

<pre><code>applyFilter(){
  this._router.navigate([this._url, filter.validParams]);
}
</code></pre>

<p>This seems to work at first, but if I route to a different component that inherits from <code>ListComponent</code>, the <code>_activeRoute</code> (<code>ActivatedRoute</code>) that is injected returns an empty object for the <code>url</code> Observable in the <code>ListComponent</code>'s <code>ngOnInit()</code>.</p>

<p>I am not sure if I'm on the right track with this, but I'd also be looking for answers that pose a different approach to this issue.   </p>