ajax - AngularJS : single page and multipage app difference and use in practice?

标签 ajax angularjs single-page-application

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

在实践中,您将如何使用 angularjs 创建多页应用程序?那么你不需要多个 angularJS 应用程序吗?您是否必须为每个 angularJS 应用程序设置单独的路由?为什么要为 angularJS 制作多页应用程序?因为人们总是可以将第一个 index.html 用作外壳,没有实际内容,然后为不同的页面创建单独的容器页面。是否可以说 angularJS 多页应用程序将是一个应用程序,它只包含许多 SPA angularJS 应用程序?在 SPA 中,您可以使用浏览器的后退按钮返回上一个 View 吗?

最佳答案

是的,您对 SPA 和 MPA 的想法是正确的。

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

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

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

关于ajax - AngularJS : single page and multipage app difference and use in practice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29646203/

相关文章:

javascript - 删除和刷新列表的 Ajax 调用不起作用

jquery - Asp.net MVC Ajax 迭代

c# - 您有使用 ASP.NET MVC 的 CascadingDropDown 吗?

angularjs - 初次通话后谷歌地图未完全加载

javascript - 使用ng-repeat后如何选择特定元素?

javascript - 无法在 Nodejs 中执行文件上传程序

html - 我怎样才能让一个 div 表现得好像它在带有 Bootstrap 的不同设备上一样?

javascript - 使用ajax上传文件图像时页面卡住

javascript - Angular+Jquery - 编程表单提交导致重定向

html - 如何为单页 React 应用程序中的链接实现 "Open link in new tab"