我使用 XMLHttpRequest 创建了自己的上传文件组件,一切正常……我唯一的问题是我创建了一个回调方法来更新上传进度,以便用户可以看到百分比。
如果我对进程进行 consolo.log(),我可以看到它是如何从 0 增加到 100。
但是屏幕并没有反映出来……我在那个组件中有这个功能:
ngOnChanges(){
if(this.progress == 100){
this.progress = 0;
this.uploading = false;
}
}
而且我有一个方法来获取进度的最新值(从父组件触发)
public updateProgress(progress : number){
this.progress = progress;
console.log(this.progress);
if(this.progress == 100)
this.uploading = false;
}
如果我有模板
<div *ngIf="uploading" class="uploading">
<progressbar [max]="100" [value]="progress"><span style="color:white; white-space:nowrap;">{{progress}} / {{100}}</span></progressbar>
</div>
所以进度条并没有增加进度,即使在控制台中我可以看到值是“进度”变化..
但是经过很长时间,我发现如果在屏幕的任何部分用鼠标单击,则会触发 ngOnChange,并且进度条会更新...所以如果我在文件上传时开始单击,我会可以看到进度...