我正在使用angular js fileModel指令上传文件,如下所示
angular.module('MyProject').directive('fileModel', ['$parse', function ($parse) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind('change', function(){
scope.$apply(function(){
modelSetter(scope, element[0].files[0]);
});
});
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
我在html中使用了以下相同的代码,
<input type='file' class="imgInp" file-model="tenantLogoFile"/>
Run Code Online (Sandbox Code Playgroud)
如果我选择一个文件,则可以通过$watch在“ tenantLogoFile”上使用来捕获用户选择的文件。但是,如果我应该立即再次上传同一文件(没有刷新页面),$watch则不会被解雇,最终我将无法上传该文件。
$scope.tenantLogoFile = null首次成功上传后,我尝试设置,但是没有用,有人可以帮我吗?