Me enfrento a este problema al seleccionar el archivo y mostrar su nombre en el intervalo. Básicamente, intento que cada vez que selecciono algún archivo quiero cambiar la etiqueta de intervalo. esta es mi vista
<form name="fileUploadForm" ng-submit="submitFile(fileUploadForm.$valid)"> <div class="form-group upload-btn-wrapper"> <input type="file" class="form-control" id ="myFileField" file-input="patient_file" required /> <button class="csv-upload-btn">choose file</button> <span id="file-chosen">{{ patient_file }}</span> </div> <div class="form-group"> <input type="submit" value="Upload" class="btn btn-primary"> </div> </form>siguiente es mi código de directiva
(function() { angular.module('practimyze.dashboard') .directive('csvUploader', ["$parse", function($parse) { return { restrict: 'EA', templateUrl: "dashboard/breakdown/csv-uploader/csv-uploader.tpl.html", replace: true, controller: function($scope, valueHandler, Auth, $rootScope, blockUi, DashboardApi, fileUploadService, apiLinks, toaster){ }, link: function(scope, element, attrs) { var model = $parse(attrs.csvUploader); var modelSetter = model.assign; element.bind('change', function() { scope.$apply(function() { modelSetter(scope, element[0].patient_file); }); }); } }; }]); })();Inicialmente hice esto
$parse.assign(scop, element[0].files);esto me estaba dando el error de que el análisis no tiene asignación de funciones. Luego lo cambié a lo que he escrito ahora que dice (modelSetter no es una función).
No estoy seguro de dónde estoy haciendo mal, por favor ayúdenme gracias
Editado: este es el enlace de violín, parece estar funcionando perfectamente allí .