title: ngOnChanges on boolean assigned to checkbox change not caught
body: <p>In html I have checkbox input with two way data binding:</p>
  
  <pre><code>&lt;label class="switch"&gt;
      &lt;input type="checkbox" [(ngModel)]="mode"&gt;
      &lt;span class="slider round"&gt;&lt;/span&gt;
  &lt;/label&gt;
  {{ mode }}
  </code></pre>
  
  <p>In component.ts I want to change route when mode will change. To do so I'm trying to listen for mode change with ngOnChanges module. My code is:</p>
  
  <pre><code>import { Component, OnInit, OnChanges, Input, SimpleChanges } from '@angular/core';
  import { Router } from '@angular/router';
  
  @Component({
      selector: 'app-modes',
      templateUrl: './modes.component.html',
      styleUrls: ['./modes.component.scss']
  })
  
  export class ModesComponent implements OnInit, OnChanges {
      @Input() mode: boolean;
      constructor(private router: Router) { }
  
      ngOnInit() { }
  
      ngOnChanges(changes: SimpleChanges) {
          console.log(changes);
          this.router.navigate(['/dark']);
      }
  }
  </code></pre>
  
  <p>but ngOnChanges is never executed although with interpolation I can see that mode is changing. It never console anything but it should console object.</p>