title: How can I change a specific, internal route parameter in Angular2
body: <p>I am building a calendar that can display different kinds of data. The following example explains my URL structure I think:</p>
  
  <ul>
  <li><code>todo/2017/01/01</code> a day view of todos</li>
  <li><code>birthdays/2017/01/01</code> a day view of birthdays </li>
  <li><code>todo/2017/01</code> a month view of todos</li>
  <li><code>birthdays/2017/01</code> a month view of birthdays</li>
  <li><code>todo/2017</code> a year view of todos</li>
  <li><code>birthdays/2017</code> a year view of birthdays</li>
  </ul>
  
  <p>Up until now I have be able to pass in a <code>Date</code> object and reroute via </p>
  
  <pre><code>this.router.navigate([#HARDCODED# 'todo' #OR# 'birthday', year, ?month, ?day])
  </code></pre>
  
  <p>The problem is that I want to be able to navigate from <code>todo/2017/01/01</code> => <code>birthdays/2017/01/01</code> OR <code>todo/2017/01</code> => <code>birthdays/2017/01</code>.</p>
  
  <p>So I can't pass in the date parameters because some may not exist depending on which view I am in. </p>
  
  <p><strong>So how can I only switch out a single, internal parameter and reroute?</strong></p>
  
  <p>Something like </p>
  
  <pre><code>this.router.navigate(['todo', {ignoreTheRest: true}])
  </code></pre>
  
  <p>Otherwise I have to write a complicated switch statement for every possible combination.</p>