我一直在学习angularjs,并且一直非常困惑角度如何设置更改页面而不刷新,但却有完全不同的视角。
他们实际上是在更改页面URL还是只隐藏页面上的所有元素并显示另一个?
答案 0 :(得分:2)
This video by CodeSchool explains it quite well.
AngularJS只是一个允许您相对轻松地构建单页Web应用程序的工具。您正在寻找的实际上是definition of Single-Page Application:
单页面应用程序(SPA)是一种Web应用程序,它可以加载单个HTML页面,并在用户与应用程序交互时动态更新该页面。 SPA使用AJAX和HTML5来创建流畅且响应迅速的Web应用程序,而无需不断页面重新加载。但是,这意味着大部分工作都发生在客户端,使用JavaScript。
此外,来自http://www.johnpapa.net/:
SPA在初始页面加载时完全(或关闭)加载,这是关键 资源已预先加载,并逐步下载功能 必需的。
并且,更具体到您的特定问题:
当用户点击菜单项时,SPA会看到该网址和 将其转换为应显示的视图。如果视图没有 之前见过,应用程序可能会发出HTTP请求来检索 视图的HTML模板。然后它将组成视图,填写 模板,并在其中的适当位置显示视图 贝壳。如果视图已被查看一次,则浏览器可以 已经缓存它,路由器将足够聪明,不能做到 请求。这是SPA可以减少往返往返的一种方式 服务器,从而提高性能。
请记住,使用JavaScript and does NOT require any specific library or framework(例如AngularJS)可以实现此行为,尽管您可能希望学习如何使用它来促进该过程。
我还建议你查看这些资源:
答案 1 :(得分:-3)
如果你的网址是用$ routeProvider映射的,你可以重新加载一个调用$ route.reload()的控制器。