angularjs中,為什麼要使用resolve?
ng-route模組中的when()和ui-route的state()都提供了resolve屬性。
為什麼需要使用resolve?
當路由切換的時候,被路由的頁面中的元素(標籤)就會立馬顯示出來,同時,資料會被準備好並呈現出來。但是注意,資料和元素並不是同步的,在沒有任何設定的情況下,AngularJS預設先呈現出元素,而後再呈現出資料。這樣就會導致頁面會被渲染兩遍,導致“頁面UI抖動”的問題,對使用者不太友好。resolve的出現解決了這個問題。resolve是幹嘛用的
resolve屬性裡的值會在路由成功前被預先設定好,然後注入到控制器中。通俗地將,就是等資料都“就位”後,才進行路由(其實我覺得也不能叫路由,因為路由是一些列的操作,其中就包括了設定resolve屬性等等)。這樣的好處就是頁面僅會被渲染一遍。相關文章
- 為什麼說Java中要慎重使用繼承Java繼承
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- 為什麼要謹慎使用Linux find命令?Linux
- 為什麼if中null要寫在前面?Null
- React元件方法中為什麼要繫結thisReact元件
- 為什麼要code reviewView
- 為什麼要寫作
- 中國程式設計師為什麼要跳槽?程式設計師
- Python是什麼?為什麼要掌握python?Python
- GC 為什麼要掛起使用者執行緒? 什麼愁什麼怨?GC執行緒
- 什麼是AngularJS?它有哪些特性?AngularJS
- 為什麼要避免在 Go 中使用 ioutil.ReadAll?Go
- 為什麼要學習 Julia
- 為什麼要指令重排序?排序
- 為什麼要財務自由
- 為什麼要學習 RustRust
- 為什麼要學習 Vim?
- 為什麼要學習Netty?Netty
- 為什麼 JavaScript 的 this 要這麼用?JavaScript
- 為什麼要謹慎使用Arrays.asList、ArrayList的subList?
- Python優勢是什麼?為什麼要學習?Python
- Python到底是什麼?為什麼要學Python?Python
- 為什麼要閱讀原始碼原始碼
- 序 為什麼要建立部落格
- 為什麼要分庫分表?
- 為什麼還要記密碼密碼
- [譯]為什麼要寫 super(props)
- 為什麼要貢獻開源
- 為什麼要加EventQueue.invokeLater
- 為什麼要特徵標準化特徵
- 我為什麼要學技術
- 為什麼要“東數西算”?
- redis為什麼要提供pipeline功能Redis
- 前端為什麼要工程化?前端
- 為什麼要學習Python?Python可以做什麼事情?Python
- Linux是什麼系統?為什麼要學習Linux?Linux
- 什麼是Spring Boot?為什麼要學習Spring Boot?Spring Boot
- 為什麼CMS要為老年代預留空間?