angular.js - angularJS怎么實現(xiàn)請求的數(shù)據(jù)還未加載完成時展示“正在加載”的提示?
問題描述
在點擊button發(fā)出請求后,由于網(wǎng)絡(luò)或者數(shù)據(jù)較大的原因,頁面中的angularJS雙向綁定數(shù)據(jù)部分不顯示,頁面結(jié)構(gòu)很難看,怎么能實現(xiàn)在所有的數(shù)據(jù)加載完成之前,彈出層覆蓋掉原網(wǎng)頁并且提示“正在加載”,等所有的數(shù)據(jù)加載完成之后,再顯示帶有完整數(shù)據(jù)的網(wǎng)頁。如下面的效果:
問題解答
回答1:https://github.com/cgross/angular-busy/blob/master/README.md 使用這個模塊
回答2:事先做好遮罩層,發(fā)起請求時(一般都是 $http 或 $resource)顯示遮罩,promise resolve 后關(guān)閉遮罩。
邏輯就是這么簡單,但是因為出現(xiàn)的很頻繁所以要考慮如何 DRY。
視圖層面上,如果遮罩是全應(yīng)用通用的就不要每個 route 里都寫一遍,而是考慮寫在比較上層的路由入口,讓子路由共享。
調(diào)用層面,簡單一點把遮罩狀態(tài)保存在 $rootScope,使用 DI 來隨取隨用;講究一點就寫個 service 來控制。
遮罩本身可以封裝成 directive 便于復(fù)用,不過這東西很簡單,不封裝也罷。
相關(guān)文章:
1. docker gitlab 如何git clone?2. 關(guān)于docker下的nginx壓力測試3. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!4. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。5. docker鏡像push報錯6. PC 手機兼容的 編輯器7. angular.js - angularJs ngRoute怎么在路由傳遞空字符串及用ng-switch取得8. docker不顯示端口映射呢?9. docker-compose中volumes的問題10. mysql - 用PHPEXCEL將excel文件導(dǎo)入數(shù)據(jù)庫數(shù)據(jù)5000+條,本地數(shù)據(jù)庫正常,線上只導(dǎo)入15條,沒有報錯,哪里的問題?
