Angular IE9 fileupload无法正常工作

Sha*_*ble 7 javascript internet-explorer angularjs

我用这种方式上传文件:

  <input type="file" 
         name="upload-file" 
         ng-model= "excelFile" 
         accept=".xlsx" 
         onchange="angular.element(this).scope().fileChanged(this);"
         required="true" 
  />
Run Code Online (Sandbox Code Playgroud)

在控制器中创建fileChanged方法

 $scope.fileChanged = function(files) {
     $scope.excelFile = files[0];
 };
Run Code Online (Sandbox Code Playgroud)

它适用于FireFox,Chrome IE10,IE11,但在IE9中它显示"文件为null我们未定义".

Nic*_*.Xu 0

我认为这是因为在 IE 中事件位于 window.event 中,而不是作为参数传递给事件处理程序。因此,“ ”this将是文档根目录或在 IE 上未定义。

您可以通过在 IE 上放置事件处理程序来轻松测试它console.log(this)。查看本文中的事件差异部分。

我认为你可以使用本机角度指令 ng-change,或者只是

$scope.$watch('excelFile', function(newVal){
// implementation
})
Run Code Online (Sandbox Code Playgroud)

范围内。