2015-05-05 82 views
0

我正在做一个SPA,并且正在努力使用正确的体系结构来实现它。所以我会在这里概述细节,然后是结构和问题。如果有人能够向我展示布局流程的正确方法,那将非常有帮助。AngularJS SPA体系结构

SPA详细信息: 的会计程序,游客在这里得到不经认证完全访问该网站,可用于更改各种数据。除非他们注册帐户,否则不会保存。用户无法看到来自其他用户帐户的任何信息。

SPA结构: 注册或认证之前:

  • 一些JS对象存储中的服务(StartService):accData,accCompanies {}它们持有的所有数据被操纵
  • 另一项服务(FunctionsService)依赖于StartService并保存所有功能,因为它们在多个控制器上使用
  • Functions服务被注入到控制器中,并为服务中的每个函数创建$ scope变量。

在注册:

  • 存储在StartService的对象发送到服务器作为新的帐户数据。

在登录:

  • 在用户的帐户对象从服务器中检索并投入StartService。

,用户可以单击保存按钮,将StartService数据到他们的帐户(相同的进程上注册的)

问题和疑问:

  • 我想不通了解如何让双向数据绑定在两个服务,控制器和视图之间起作用。
  • 我需要改变结构吗?例如,一个服务而不是2个,json文件中的数据而不是服务中的数据,只使用一个控制器并将功能移到这个控制器上?

回答

0

我会推荐一个框架就像angularjs2,它给你的SPA项目的结构。你做依赖注入,并使用类型安全的类型脚本。这里是你可以按照有关如何处理的RESTful通信教程:

https://angular.io/docs/ts/latest/guide/server-communication.html

应对水疗中心内的路由看看这个答案:

angularjs2 SPA - how to change gulp task to prevent cannot get /page error

我个人更喜欢在window.fetch上使用http.post(来自angular2/http),因为我发现它更容易处理cors问题。根据数据传输,我建议你向后端发送注册数据(通过json POST),而后端向你发送一个jwt(一个json令牌),用于验证每个后续请求。

我会进一步推荐使用GET(返回一个json)来获取所有需要在每个页面上显示用户特定信息的信息。

让我知道你是否需要更多的细节。