2016-12-26 2 views
1

ich einen Web-App erschaffe, in denen ich eine Richtlinie für input type file erstelltWeitergabe Werte von Richtlinie an der Steuerung

app.directive('customFileInput', [function() { 
     return { 
      link: function (scope, element, attrs) { 
       element.on('change', function (evt) { 
        var files = evt.target.files; 
        scope.filename = files[0].name 
        console.log(scope.filename); 
       }); 
      } 
     } 
    }]); 

diese meine Richtlinie ist es, die Dateinamen von

<input id="file" type="file" ng-model="mdfile" ng-change="filepath()" class="form-control" custom-file-input /> 

dieses Eingabefeld für das Abrufen

jetzt in meinem Controller möchte ich den Dateinamen zu übergeben, die ich von der Richtlinie erhalten

$scope.savefunction = function() { 
      var f = document.getElementById('file').files[0], 
       r = new FileReader(); 
      r.onloadend = function (e) { 
       $scope.data = e.target.result; 
      } 
      r.readAsDataURL(f); 

      $http.get('/employeeregistration.asmx/sav', { 
       params: { 
        data: $scope.data, 
        //i want to pass the value here 
       } 
      }).then(function (response) { 

      }) 
     } 

, wie ich

Antwort

2

Verwenden scope: false in DDO

return { 
    restrict: “EA”, 
    scope: false, 
    link: function(scope, elem, attr){ 
    // write code here. 
    } 
} 

Namen filename gleichen sowohl in Ort, um den Wert zu übergeben kann. example

ODER

Verwendung isolated scope:

return { 
    restrict: "EA", 
    scope: { 
     filename: "=" 
    }, 

siehe isolated example Hope this helfen.

+0

wo muss ich isolierten Bereich verwenden :? In meinem Controller? –

Verwandte Themen