2016-01-27 13 views
5

Dosya girişi değerini almaya çalışıyorum ve girdinin dışında başka bir yere görüntülemeye çalışıyorum. App AngularJS v1.4.8 kullanıyorum.ng-model dosya girişi ile çalışmadı

<input type="file" ng-model="fileName" /> 
<div>{{fileName}}</div> 

Bu yaklaşım, type = "text" ile çalışır, ancak type = "file" ile çalışmaz.

Neden böyle ve bu sorunu nasıl çözebilirim?

Teşekkür ederiz!

html:

<input type="file" file-input="files" /> 
<ul> 
    <li ng-repeat="file in files">{{file.name}}</li> 
</ul> 

js:

.directive('fileInput', ['$parse', function ($parse) { 
    return { 
     restrict: 'A', 
     link: function (scope, element, attributes) { 
      element.bind('change', function() { 
       $parse(attributes.fileInput) 
       .assign(scope,element[0].files) 
       scope.$apply() 
      }); 
     } 
    }; 
}]); 

Bu this öğretici bir çözüm aslında benim görev oldukça basit olduğu için

+2

bu bağlantıya bakın https://jsfiddle.net/JeJenny/ZG9re/ –

+2

http://stackoverflow.com/questions/17063000/ng-model-for-input-type-file –

cevap

8

, başka yoldan gitmeye karar verdi. Bunun birden fazla dosyayla da çalışabileceğini unutmayın.

Yine de Serghinho'nun alternatifi ile kötü bir şey yok, sadece daha kolay bir yol var, bence.