2017-08-15 1 views
0

AngularJS de v1.5.8AngularJS fichier d'entrée onchange erreur dans jhipster webapp

<input type="file" onchange="angular.element(this).scope().uploadImage()" /> 

$scope.uploadImage = function(){ 
      alert("change"); 
     } 

erreur dans la console:

Uncaught TypeError: Cannot read property 'uploadImage' of undefined at HTMLInputElement.onchange

+0

je suis arrivé répondre html contrôleur angular.element (document.body) .scope.uploadImage = function() { alert ("change") ; } merci à tous, – VenbillYu

Répondre

0

Je pense que vous avez configuré mal angulaire, il devrait fonctionner comme ceci: -

var app = angular.module("myApp", []); 
 
app.controller("myCtrl", function($scope) { 
 

 
    $scope.uploadImage = function() { 
 
    alert("change"); 
 
    } 
 
});
<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 

 
<body> 
 

 
    <div ng-app="myApp" ng-controller="myCtrl"> 
 

 
    <input type="file" onchange="angular.element(this).scope().uploadImage()" /> 
 

 
    </div>

+0

merci, j'utiliser jhipster pour créer App, il ne fonctionne pas dans jhipster webapp – VenbillYu

0

Essayez comme comme comme indiqué ci-dessous:

HTML

<input 
     type="file" 
     ng-model="file" 
     name="file"         
     onchange="angular.element(this).scope().uploadImage(this)" 
        /> 

AngularJS

$scope.uploadImage = function(elements) { 

     let file = elements.files[0]; 
    } 

Voir: jsbin

+0

merci, mais il ne fonctionne pas dans jhipster – VenbillYu