Я пытаюсь получить angular для чтения содержимого файла, который пользователь выбирает с помощью элемента управления <input type="file"
. Несмотря на то, что angular не имеет директив для элементов управления загрузкой файлов, должно быть легко исправить это с помощью вызова $apply
:
function MyController($scope) {
$('#myFile').on('change', function() {
var that = this;
$scope.$apply(function() { $scope.files = that.files });
});
}
К сожалению, событие никогда не запускается. Он, как и селектор, не может ссылаться на правильный элемент DOM: даже если селектор находит элемент, список файлов всегда пуст. Это также происходит, если я сошлюсь с консолью js. Вместо этого инспектор DOM имеет список файлов среди своих свойств.
Это сводит меня с ума, но единственный способ заставить его работать до сих пор - использовать встроенный обработчик событий, который присваивает глобальную переменную. Почему селектор jquery возвращает другой элемент? Есть ли какая-то компиляция шаблона mumbo-jumbo, что angular делает, что путает селекторов?