This is how my input tag looks like:
Short version Plunker:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
`
})
export class AppComponent {
}
And i think more common case is to not using button but do reset automatically. Angular Template statements support chaining expressions so Plunker:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
`
})
export class AppComponent {
onChange(files, event) {
alert( files );
alert( event.target.files[0].name );
}
}
And interesting link about why there is no recursion on value change.