3

angular jsを使用して複数のファイルをアップロードしたいのですが、ファイルの数が限られており、それぞれに特定の検証があるため、「複数」を使用できません。ファイルごとに 1 つの複数のコントロールを使用する..

以下はサンプルコードです

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.filelist = ['file1','file2']

});

app.directive("fileBind", function() {
  return function( scope, elm, attrs ) {
    elm.bind("change", function( evt ) {
      scope.$apply(function() {
        scope[ attrs.fileBind ] = evt.target.files;
      });
    });
  };
});

対応する html は次のとおりです。

 <div ng-controller="MainCtrl">

      <div ng-repeat="myfile in filelist">
        <input type="file" file-bind="files" />
      </div>

      <div ng-repeat="file in files">
        <pre>{{ file | json }}</pre>
      </div>

    </div>

プランカーも作成しました: http://plnkr.co/edit/DF2WYU

しかし、これは機能していません...アップロードされたすべてのファイルを保存するために $index または何かを使用すると、ディレクティブは機能しなくなります...

どんな助けも感謝します

4

2 に答える 2