在 AngularJS 中,我使用此处描述的方法来处理输入类型=文件。
- https://groups.google.com/forum/?fromgroups=#!topic/angular/-OpgmLjFR_U
- http://jsfiddle.net/marcenuc/ADukg/89/
标记:
<div ng-controller="MyCtrl">
<input type="file" onchange="angular.element(this).scope().setFile(this)">
{{theFile.name}}
</div>
控制器:
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', function($scope) {
$scope.setFile = function(element) {
$scope.$apply(function($scope) {
$scope.theFile = element.files[0];
});
};
});
如前所述,这有点像 hack,但它主要适用于我的目的。然而,我需要的是一种在上传完成后清除文件输入的方法 - 即:从控制器。
我可以完全破解它并使用 jQuery 或其他东西来查找输入元素并清除它,但希望有一些更优雅的东西。