title: Uncheck checkbox in Angular 2 ngModelChange event
body: <p>We have a form in an Angular 2 app. The form has a checkbox. Under some circumstances, checking the checkbox is illegal. When the user checks the checkbox, we want to show an error message and uncheck the checkbox.</p>
  
  <p>This almost works. In our event handler we check the condition, warn the user and set the checkbox variable back to false. Unfortunately, the checkbox remains checked.</p>
  
  <p>The order of events as we have seen it is this:</p>
  
  <ol>
  <li>User clicks the checkbox.</li>
  <li>Our <code>checkbox</code> variable becomes true.</li>
  <li>Our event handler is called.</li>
  <li>Alert is shown (using <code>alert</code> for now)</li>
  <li>Alert is dismissed</li>
  <li><code>checkbox</code> variable set to false by our code.</li>
  <li>Our event handler finished.</li>
  <li><p><strong>Checkbox is checked in the browser</strong></p>
  
  <p>The model (<code>checkbox</code>) remains false, but the user doesn't see it. How can I uncheck the checkbox <em>after</em> it is actually checked (as opposed to 'about-to-be-checked')?</p>
  
  <p>Here is a <a href="https://plnkr.co/edit/9rtPKvw4BunaaHO8gJYL?p=preview" rel="noreferrer">Plunkr demonstrating the issue</a>.</p></li>
  </ol>