文章詳情頁
angular.js - angularJS怎么實現請求的數據還未加載完成時展示“正在加載”的提示?
瀏覽:137日期:2024-10-09 18:53:44
問題描述
在點擊button發出請求后,由于網絡或者數據較大的原因,頁面中的angularJS雙向綁定數據部分不顯示,頁面結構很難看,怎么能實現在所有的數據加載完成之前,彈出層覆蓋掉原網頁并且提示“正在加載”,等所有的數據加載完成之后,再顯示帶有完整數據的網頁。如下面的效果:
問題解答
回答1:https://github.com/cgross/angular-busy/blob/master/README.md 使用這個模塊
回答2:事先做好遮罩層,發起請求時(一般都是 $http 或 $resource)顯示遮罩,promise resolve 后關閉遮罩。
邏輯就是這么簡單,但是因為出現的很頻繁所以要考慮如何 DRY。
視圖層面上,如果遮罩是全應用通用的就不要每個 route 里都寫一遍,而是考慮寫在比較上層的路由入口,讓子路由共享。
調用層面,簡單一點把遮罩狀態保存在 $rootScope,使用 DI 來隨取隨用;講究一點就寫個 service 來控制。
遮罩本身可以封裝成 directive 便于復用,不過這東西很簡單,不封裝也罷。
相關文章:
1. 前端 - CSS3問題:請問-webkit-background-clip屬性,需要寫在background屬性后面嗎?2. angular.js - angular里的ui-view里,獲取當前頁面的狀態參數用$state.params,在vue里類似的語法是什么呢?3. javascript - 按鈕鏈接到另一個網址 怎么通過百度統計計算按鈕的點擊數量4. 微信開放平臺 - ios APP能不能打開微信然后通過微信跳轉到指定的URL?5. 淺談vue生命周期共有幾個階段?分別是什么?6. node.js - nodejs+express+vue7. Mysql啟動發生系統錯誤10678. nginx - vue-cli生成的項目打包發到服務器后怎么代理api?9. html5 - h5+中webview的show方法有延遲10. 大家好,我想請問一下怎么做搜索欄能夠搜索到自己網站的內容。
排行榜
