title: Angular2 Router navigate with multiple params issue
body: <p>I'm trying to get the Angular2 new router working and I got most of it so far, except one annoying issue I can't solve.</p>
  
  <p>For some reason when I use the router's <code>navigate</code> function with 2 parameters (matrix params) it will not run the subscribe code if one of the params is already populated and not changed, even if the other param changes.</p>
  
  <p>Example:</p>
  
  <pre><code>import {ActivatedRoute, Router} from '@angular/router';
  @Component({.... })
  
  export class AnalystSearch implements OnInit, OnDestroy {
      querySubscriber: any;
      filterString:string;
      constructor(private route:ActivatedRoute, private router:Router) {
      }
  
      ngOnInit() {
          this.querySubscriber = this.route.params.subscribe(params =&gt; {
              //Do Things
          });
      }
  
      ngOnDestroy() {
          this.querySubscriber.unsubscribe();
      }
  
      filter():void {
  
          let params:any = this.route.snapshot.params;
          params["filter"] = encodeURIComponent(this.filterString);
          params["search"] = params["search"] || "";
  
          this.router.navigate(["/analysts", {search: params.search, filter: params.filter}]);
      }
  }
  </code></pre>
  
  <p>Usually when <code>filter()</code> is called params already contains a search value (meaning - <code>{search: "someRandomString"}</code> and the change is that I add/modify the filter attribute (so it looks like - <code>{search: "someRandomString", filter: "someFilterString"}</code> )</p>
  
  <p>I can see the url changing accordingly, but the code in the <code>params.subscribe</code> isn't running!! Why??</p>
  
  <p>Note that if I change the value in the <code>param.search</code> attribute it will fire the code in <code>params.subscribe</code>.</p>
  
  <p>Thanks for your help!</p>