当我们使用ng-change时,AngularJS文件上传无效

时间:2014-04-01 10:34:20

标签: angularjs

在文件上传中,ng-change在angularJS中无法正常工作

<input type="file" ng-model="fileUpload" ng-change="setFiles(this) /"

JS:

$scope.setFiles=function(element){
    console.log(element.files);
}

这里element.files未定义

但是,如果我将ng-change变为onchange,它就会起作用。

<input type="file" ng-model="fileUpload" onchange="angular.element(this).scope().setFiles(this)"/>

JS:

$scope.setFiles=function(element){
    console.log(element.files);
}

这里我得到了element.files对象。

为什么它在onchange中工作而不是ng-change?

2 个答案:

答案 0 :(得分:1)

Angular似乎不支持<input type="file"..../>的绑定。看来你必须创建一个指令......完整的细节here。您也可以尝试此library

答案 1 :(得分:0)

 <input type="file" id="file_upload_id_here" style="width:55%" name="file" onchange="angular.element(document.getElementById('file_upload_id_here')).scope().getFileDetailsCandidate(document.getElementById('file_upload_id_here'))" />

使用如上所述,有些时候根范围是switchm它无法恢复当前范围,因为这个功能不起作用,所以把你当前的文档对象放在上面