【发布时间】:2013-05-10 20:58:06
【问题描述】:
我正在尝试获取角度来读取用户通过<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 选择器返回另一个项目?是否有一些模板编译的 Angular 会混淆选择器?
【问题讨论】:
标签: html file-upload angularjs