对两个文件输入字段重用file -upload指令

时间:2018-03-13 08:14:11

标签: javascript angularjs

我有两个输入字段并使用文件上传指令上传文件。但是当我更改第二个文件时,第一个文件也会受到影响。如何让两个文件独立工作。

// html文件

<div ng-controller="fileCtrl">
<input type="file" file-upload id="file1">
<input type="file" file-upload id="file2">
</div>

  //directive

 app.directive('fileUpload', function () {
  return {
    scope:{
        fileUpload: "="  
    }      
    link: function (scope, el, attrs) {
        el.bind('change', function (event) {
            var files = event.target.files[0];
            scope.$emit("fileSelected", { file: files[0] });
            }                                       
        });
      }
    };
  });


  //Controller
   $scope.$on("fileSelected", function (event, args) {
    $scope.$apply(function () {            
        $scope.files.push(args.file);
    });
});

1 个答案:

答案 0 :(得分:0)

我希望我明白你的意愿, 每个指令都应调用另一个函数 所以,我在指令中添加了一个参数来重新接收一个在文件被更改时调用的函数(回调)。 (顺便说一句,从性能到代码设计,使用回调更好。

无论如何,你的.j应该是这样的:

toString()

你的html应该是这样的:

System.out.println(theList.toString());

我希望它符合您的要求