簡體   English   中英

angularjs如何在頁面更改時不刷新?

[英]How does angularjs not refresh on page change?

我一直在學習有關angularjs的知識,並且對角度如何在不刷新的情況下設法更改頁面卻又有完全不同的看法感到非常困惑。

他們實際上是在更改頁面URL還是只是隱藏頁面上的所有元素並顯示其他元素?

CodeSchool的這段視頻對此進行了很好的解釋。

AngularJS只是一個工具,使您可以相對輕松地構建單頁Web應用程序。 您正在尋找的實際上是Single-Page Application定義

單頁應用程序(SPA)是Web應用程序,可加載單個HTML頁面並在用戶與該應用程序交互時動態更新該頁面。 SPA使用AJAX和HTML5創建流暢且響應迅速的Web應用程序,而無需不斷刷新頁面。 但是,這意味着很多工作發生在客戶端的JavaScript中。

另外,從http://www.johnpapa.net/

SPA在初始頁面加載時已完全(或關閉)加載,它的關鍵資源已預加載,並根據需要逐步下載功能。

並且,更具體地針對您的特定問題:

當用戶單擊菜單項時,SPA會看到該URL並將其轉換為應顯示的視圖。 如果以前沒有看到過該視圖,則應用程序可以發出HTTP請求以檢索該視圖的HTML模板。 然后它將構成視圖,填寫模板,並在外殼內的適當位置顯示視圖。 如果該視圖已經被查看過一次,則瀏覽器可能已經對其進行了緩存,並且路由器將足夠聰明以至於無法發出請求。 這是SPA可以減少往返服務器的往返次數並因此提高性能的一種方法。

請記住,這種行為是通過使用JavaScript來實現的, 不需要任何特定的庫或框架 (例如AngularJS),盡管您可能想學習如何使用它來簡化此過程。

我還建議您檢查以下資源:

如果您的網址是與$ routeProvider映射的,則可以重新加載調用$ route.reload()的控制器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM