title: Angular2 ngModel in form. Prevent updating the underlying model
body: <p>I have these properties in a component defined as such.</p>
  
  <pre><code>userDataDefinitions:Array&lt;userDataDefinition&gt;;
  currentDefinition:userDataDefinition = null;
  </code></pre>
  
  <p>I then have a form, which displays data in accordance to the currentDefinition, which is set as such:</p>
  
  <pre><code>&lt;div *ngFor="let userDataDefinition of userDataDefinitions"&gt;
              &lt;a href="#" (click)="setCurrentDefinition(userDataDefinition)"&gt;
                {{ userDataDefinition.key }}
              &lt;/a&gt;
          &lt;/div&gt;
  </code></pre>
  
  <p>The form input fields use ngModel as such:</p>
  
  <pre><code>[(ngModel)]="currentDefinition.property"
  </code></pre>
  
  <p>This means that as soon as I edit one of the input fields, the underlying currentDefinition AND userDataDefinitions are updated instantly, as expected.
  My question is what should I do if I want the underlying model to be updated ONLY upon an action (such as the form submit)?
  Should I clone the currentDefinition? Should I not use ngModel?</p>
  
  <p>What is the correct angular2 way to achieve this result?</p>
  
  <p>Thank you very much</p>
  
  <p>Regards</p>