强制 angular.element .on 'change' 在同一文件上调用指定函数

Force angular.element .on 'change' to call specified function on the same file

当我 select 第一次说 hello.png 时,它加载它并调用 handleFileSelect() 函数。但是,如果我再次选择同一个文件,则在我选择另一个文件名之前不会调用该函数。我怎样才能强制它调用函数?我以为修改会在 'change' 上进行,但不确定那是什么事件。

var handleFileSelect = function(evt) {
  debugger;
  var file = evt.currentTarget.files[0];
  var reader = new FileReader();
  reader.onload = function (evt) {
    $scope.$apply(function($scope){
      $scope.myImage = evt.target.result;
    });
  };
  reader.readAsDataURL(file);
};

angular.element(document.querySelector('#fileInput')).on('change', handleFileSelect);

我能想到的最好的方法是用按钮替换文件输入,并在按下按钮时动态创建输入。

function handleFileSelect(evt) {
  alert('Filename: ' + evt.target.files[0].name);
}

var button = document.getElementById('select-file');
button.addEventListener('click', function() {
  var input = document.createElement('input');
  input.type = 'file';
  input.addEventListener('change', handleFileSelect);
  input.click();
});
<button id="select-file">Select File</button>