繁体   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