1

这是指令。

 app.directive("fileInput", function($parse){  
  return{  
       link: function($scope, element, attrs){  
            element.on("change", function(event){  
                 var files = event.target.files;  
                 $parse(attrs.fileInput).assign($scope, element[0].files); 
                console.log(element[0].files);//this shows file
                 $scope.$apply();  
            });  
       }  
  }
});

HTML部分:

<input class="inputFile"  type="file" id="files" file-input="files">
<button type="button" ng-click="uploadFile();">Submit</button>

控制器功能:

$scope.uploadFile = function(){  
        console.log($scope.files);//this is undefined
        if(!$scope.files){
            alert("select file");//prog is getting stuck here
        }else{/*some code*/}  

$scope 并且每个依赖项都定义为控制器,但仍然没有获取文件。请告诉我我在哪里做错了,因为相同的代码正在其他模块中运行。

uploadFile();

位于某个子控制器下..

4

0 回答 0