title: In angular2, how to get onChanges for properties changed on an object sent in for an @Input
body: <p>I have a directive and on it is an <code>@Input</code> that accepts a class. </p>
  
  
  
  <pre class="lang-ts prettyprint-override"><code>@Directive({selector: 'my-directive'})
  @View({directives: [CORE_DIRECTIVES]})
  export class MyDirective  {
      @Input() inputSettings : SettingsClass;
      @Input() count : number;
  
     onChanges(map) {
        console.log('onChanges');
      }
  }
  </code></pre>
  
  <p>The directive is used in html:</p>
  
  <pre class="lang-ts prettyprint-override"><code>  ...
    &lt;my-directive [input-settings]="settings" [count]="settings.count"&gt;&lt;/my-directive&gt;
    ...
  </code></pre>
  
  <p>If the settings.count is changed then the <code>onChanges</code> will fire. If any other property on the settings class changes, then it will not fire.</p>
  
  <p>How can I detect if there is a change to any property on settings?</p>