как поймать событие ngchange во вводе файла

У меня есть ввод файла

<input type="file" ng-change="action()">

Теперь в моем контроллере я не хочу делать селекторы и прочее. так что у меня просто есть

$scope.action = () -> 
  ...

Однако мне нужно определенное поведение, такое, что пока пользователь выбирает файл, вызывается $ scope.action, вместо onchange есть ли событие onselect в angular?


person user2167582    schedule 29.10.2014    source источник
comment
возможный дубликат AngularJs: как проверить наличие изменений в файле поля ввода?   -  person Josep    schedule 30.10.2014
comment
не совсем то исправление, на которое я надеялся, но onchange - лучший способ, поскольку ng-change прислушивается к модели. в любом случае, похоже, очистка этого ввода обязательна.   -  person user2167582    schedule 30.10.2014


Ответы (1)


Используйте thisss

<input ng-model="photo"
       onchange="angular.element(this).scope().file_changed(this)"
       type="file" accept="image/*" />


$scope.file_changed = function(element, $scope) {

     $scope.$apply(function(scope) {

     });
});
person Harutyun Abgaryan    schedule 29.10.2014
comment
Фактическое разрешение, которое я получил, заключалось в использовании document.select (input) .text = для сброса содержимого. - person user2167582; 28.11.2014
comment
Это плохой способ сделать это, см. Объяснение здесь: stackoverflow.com/questions/17922557/ - person Link14; 01.07.2016