如果类型是文件,则输入中的模型并不总是更新

时间:2013-12-19 21:02:16

标签: angularjs

我正在使用HTML5的文件选择器和AngularJS(我知道Angularjs不支持带文件类型的输入,而且我有点破解。),第二次上传时文件名不会被清除。知道为什么??

<div ng-app="app">
    <div ng-controller="Ctrl">
        <input ng-model="myFile" onchange="angular.element(this).scope().onchange(this.files)" type="file" />
    </div>
</div>

var app = angular.module("app", []);

function Ctrl($scope) {
    $scope.onchange = function (files) {
        var file = files[0];
        var reader = new FileReader();

        reader.onload = function (e) {
            //doing some stuff here
            console.log(e)

            //finally clear the file for new selection
            $scope.myFile = null; // <------- doesn't clear after the 2nd file upload
            $scope.$apply();
        };
        reader.readAsText(file);
    };
}

如何重现?

转到jsfiddle并上传相同的文件两次。

http://jsfiddle.net/9sdTX/

我今天不以某种方式处理。任何帮助都非常感谢!

0 个答案:

没有答案