使用$scope.$apply()進行DOM重繪
阿新 • • 發佈:2018-12-28
問題:
檔案改變之後,檔名無法實時更新到頁面上;
<div>
<input type="file" id='file' onchange="angular.element(this).scope().fileChange(this)" data-index="{{$index}}" ng-model="filesNameArr[$index]"/>
本地上傳
</div>
解決辦法:
$scope.$apply()進行DOM重繪:
$scope.fileChange=function(el){ var index = ($(el).attr('data-index')); var files = el.files[0]; var size=files.size/1024; if(size>20000){ layer.msg("檔案大小不能超過20M!") }else { $scope.fileArray[index]=files; $scope.filesNameArr[index] = files.name; $scope.$apply(); } }