我有這樣的進度條NG-風格沒有更新速度不夠快
<div class="progress progress-striped" ng-class"{active: file.isUploading()}">
<div class="progress bar" role="progressbar" ng-style="{'width' : (file.sizeUploaded()/file.size * 100) + '%'}"></div>
</div>
與Chrome瀏覽器開發工具調試後,我送了好寬度NG-風格。當我停止執行(在源代碼中使用F8)時,樣式更新爲良好的寬度。如果我不停止執行,酒吧會緩慢下降到只有1%,然後當上傳達到100%時,酒吧會從1%到100%。
我正在使用ng-flow以上傳我的文件,而不是一個完整的文件。
下面一些圖片顯示的行爲:
一是形象展示它沒有更新的樣式足夠快(在0%的條不顯示一個小藍條) 這是發生了什麼時,文件已完全上傳 當我在開發人員工具源代碼(調試)中按F8風格已正確更新。
這是帶進度條上傳的link to a working example。
我嘗試使用ng樣式的file.progress(),但它做了相同的行爲。在沒有調試器的情況下,上傳的大小變化很好,它實際上只是ng風格,似乎沒有更新。
編輯:在Firefox中進行測試時,文件加載速度稍快,當文件達到100%時,加載速度會高達5-10%。
編輯2:
sizeUploaded: function() {
var size = 0;
each(this.files, function (file) {
size += file.sizeUploaded();
});
return size;
}
這裏的HTML ...
<div flow-init flow-name="flow" class="span5 clearfix">
<div class="alert" flow-drop>
Drag And Drop your file(s) here
</div>
<span class="btn" flow-btn><i class="icon icon-file"></i> Upload File</span>
<div ng-repeat="file in flow.files">
{{file.name}} ({{file.size}} kB)
<br />
IS COMPLETE: {{file.isComplete()}}
<br />
ERROR: {{file.error}}
<br />
SIZE UPLOADED: {{file.sizeUploaded()}} kB
<br />
IS UPLOADING: {{file.isUploading()}}
<br />
{{file.sizeUploaded()}} kB/{{file.size}} kB | {{file.sizeUploaded()/file.size * 100 | number:0}}%
<div class="progress active progress-striped" ng-class"{active: file.isUploading()}">
<div class="progress bar" role="progressbar" ng-style="{'width' : (file.sizeUploaded()/file.size * 100) + '%'}">{{file.sizeUploaded()}}/{{file.size}} kB | {{file.sizeUploaded()/file.size * 100 | number:0}}%</div>
</div>
<input type="button" ng-click="file.resume()" value="Start/Resume" />
<input type="button" ng-click="file.pause()" value="Pause"/>
</div>
<table>
<tr ng-repeat="file in flow.files">
<td>{{$index+1}} | </td>
<td>{{file.name}}</td>
</tr>
</table>
</div>
附加說明:我使用的角度1.1.5
正在更新的開始,然後在年底,或調試中斷期間的事實/暫停,似乎表明您或ng-flow缺少$應用在某處。發佈一個小提琴或蹦牀的例子,我相信有人能夠協助。或者在最低限度發佈文件'file.sizeUploaded()' – Beyers
file.sizeUploaded()的代碼來與流,所以我懷疑問題來自那裏。我發佈了sizeUploaded,並且在獲得時間後立即開始提琴 – snaplemouton
由於流和ng-flow中包含的文件過多,我無法獲得jsFiddle或Plunker,我更新了我的問題以顯示html代碼。 – snaplemouton