Angular的ng-src保留之前的模型,直到它在內部預加載圖像。我在每個頁面的橫幅上使用了不同的圖像,當我切換路線時,我改變了主視圖,將標題視圖保持原樣,只是在擁有它時更改bannerUrl模型。使用Angular.js預加載圖像的最佳方式
這導致在加載新文件時看到之前的橫幅圖像。
我很驚訝,目前還沒有指令,但我想在嘗試構建一個之前進行討論。
我想做什麼我認爲是自定義屬性上的橫幅模型。像:
<img preload-src="{{bannerUrl}}" ng-src="{{preloadedUrl}}">
然後$ scope.watch爲bannerUrl變化,只要它的變化,替換裝載機微調NG-SRC第一,然後創建temproary IMG DOM元素,從預壓SRC,然後預載圖片分配給preloadUrl。
需要思考如何處理畫廊的多個圖像,例如。
有沒有人有任何輸入?或者也許有人可以指向我現有的代碼?
我看過github上使用background-image的現有代碼 - 但這不適合我,因爲我需要動態高度/寬度,因爲我的應用程序是響應式的,而且我無法使用background-image。
謝謝
通常的解決方法是使用CSS將圖像設置爲'visibility:hidden',直到最終圖像被加載,當您將其更改爲'visibility:visible'時,因此您只能看到最終圖像。 – jfriend00
@ jfriend00將所有圖像設置爲'visibility:hidden',然後使用javascript查看數組中所有圖像何時加載,並將所有圖像設置爲'visibility:visible'然後? – Yuri