title: (change) vs [(ngModel)] with input type file in Angular
body: <p>I am new to Angular and got confused between (change) event and (ngModel). Are both of them used for tracking state of the form? Can I use ngModel as (change) or which one is better?  The problem is that when I have a form with input type="file". </p>
  
  <p>When I use (ngModel) <code>&lt;input type="file" [(ngModel)]="link" name="link"/&gt;</code> and get the value by <code>this.link</code>. In the backend, it returns a null object {}.  </p>
  
  <p>But when I use (change) <code>&lt;input type="file" name="link" (change)="fileUploadChange($event)"/&gt;</code> and get the file with function</p>
  
  <p><code>fileUploadChange(event){
      this.link = event.target.files[0];
    }</code> </p>
  
  <p>In the backend, it returns the file path as I want. {link: {path: "C://..." }}</p>
  
  <p>So can I use (ngModel) for input type="file" in any way? </p>