title: When does ChangeDetectionStrategy.OnPush Actually Run Change Detection?
body: <p>I'm building an Angular 4 app with many components where the <code>ChangeDetectionStrategy</code> is <code>OnPush</code>. While <a href="https://angular.io/api/core/ChangeDetectionStrategy" rel="noreferrer">the Angular Documentation on the matter</a> is void of much information, various sources say that <code>OnPush</code> components only update when their <code>@Input</code>s change (new objects or primitives).</p>
  
  <p>However, it seems that various events inside an <code>OnPush</code> component will also trigger change detection. I'm noticing others do not trigger change detection, however.</p>
  
  <p>What are the specific rules for <code>ChangeDetectionStrategy.OnPush</code> in regards to events inside a component?</p>