Javascript 更改事件上的AngularJs元素

Javascript 更改事件上的AngularJs元素,javascript,angularjs,Javascript,Angularjs,有以下代码: handleFileSelect = (evt) -> console.log(1) file = evt.currentTarget.files[0] reader = new FileReader() reader.onload = (evt) -> $scope.$apply ($scope) -> $scope.myImage = evt.target.result reader.

有以下代码:

  handleFileSelect = (evt) ->
    console.log(1)
    file = evt.currentTarget.files[0]
    reader = new FileReader()
    reader.onload = (evt) ->
      $scope.$apply ($scope) ->
        $scope.myImage = evt.target.result
      reader.readAsDataURL(file)
  angular.element(document.querySelector('#fileInput')).on('change', handleFileSelect)
和HTML:

<div class="form-group ng-scope">
  <label class="col-sm-2 control-label" for="image">Image:</label>
  <div class="col-sm-10">
    <div class="cropFile">
      <input id="fileInput" type="file">
    </div>
  </div>
</div>

图片:

#fileInput
中更改某些文件后,我想在控制台中获取“1”。但当我选择文件时,我什么也得不到。我怎样才能修好它?谢谢

通过发出指令来实现这一点

我已经创建了一个指令名上传

HTML部分

<div><input style="margin: 0 auto;" type="file" id="fileInput" upload></div>

我添加了它,将move handleFileSelect添加到$scope,但它不起作用..有没有遇到类似的问题??
myapp.directive('upload', function($rootScope) {
return {
    restrict: 'EA',
    link: function(scope, elem, attrs) {
        elem.on("change" ,function(evt) {
            var file = evt.currentTarget.files[0];
            var reader = new FileReader();
            reader.onload = function(evt) {
                scope.$apply(function($scope) {
                    $rootScope.myImage = evt.target.result;
                    console.log($rootScope.myImage);
                });
            };
            reader.readAsDataURL(file);
        });
    }
  };
});