當使用遞歸函數讀取用戶的拖動文件時,我遇到了使用角度2更改檢測的奇怪問題&。使用遞歸函數的角度2更改檢測問題
參考這裏的例子:
在上面的例子中,有兩個文件拖放區域。頂部區域使用遞歸函數來讀取用戶丟棄項目中的所有文件。底部區域只需使用dataTransfer.files
。
丟棄的文件應該顯示在下面。但是,更改檢測僅適用於底部區域。
這是我的實際應用程序的簡化版本。我並不熱衷於使用ChangeDetectorRef
來觸發檢測(我知道這將適用於笨重的例子)。
有沒有更好的方法來讀取webkitGetAsEntry()
中的所有文件(包括子文件夾中的文件)? 或者另一種方式將與角度變化檢測一起工作?
我在Angular 2.4.9上。感謝幫助。
您需要在角區域內運行代碼http://take.ms/bbKa3 – yurzui
@yurzui謝謝!但是你知道爲什麼遞歸函數在'NgZone'之外運行嗎? – Northern
angular(zonejs)不會修補'FileEntry.file' – yurzui