AngularJS:单页面和多页面应用程序的区别并在实践中使用?

时间:2015-04-15 09:13:06

标签: ajax angularjs single-page-application

我一直在研究单页应用和多页应用之间的区别,我认为我很清楚它们之间的区别。单页应用程序首先加载单个html页面,然后它再也不会完全刷新页面或覆盖原始页面,除非刷新应用程序(浏览器刷新等)。例如,angularJS种子项目:{{3}有一个index.html文件。此文件是服务器将发送到前端的单个页面,之后,所有其他(可能的)页面将使用AJAX异步发送。因此,如果您使用angularjs种子创建应用程序,它总是只是一个SPA应用程序,我是对的吗?

如何在实践中使用angularjs创建多页面应用程序?你不需要多个angularJS应用程序吗?您是否必须为每个angularJS应用程序分别设置路由?为什么人们想为angularJS做多页应用?因为一个人总是可以使用第一个index.html作为shell,没有真正的内容,然后为不同的页面分别使用容器页面。可以说angularJS多用途应用程序是一个应用程序,它只包含许多SPA angularJS应用程序吗?在SPA中,您可以使用浏览器吗?后退按钮,以便返回上一个视图?

1 个答案:

答案 0 :(得分:2)

是的,您已经了解了SPA和MPA的想法。

Angular.js使您可以创建SPA,但不会强制您。在MPA中,我不会谈论多个Angular应用程序,因为您只需将Angular.js模块分布在多个HTML页面上。然后,页面流或路由逻辑将在Angular.js控制器中,在纯超链接中或在服务器的后端中。

可能有理由不在Angular.js下放置整个应用程序。也许由于某些原因,Web应用程序的身份验证部分可能会单独保留...

在SPA中,您绝对可以使用浏览器的后退按钮。你只需要以某种方式实现它。 Twitter通过将其Web应用程序的状态编码到URL中来解决此问题 - 如果您使用Twitter,您可能已经注意到地址栏中的符号(#!)。