Javascript 用AngularJS在页面上以REST方式保存大量元素

Javascript 用AngularJS在页面上以REST方式保存大量元素,javascript,rest,angularjs,single-page-application,Javascript,Rest,Angularjs,Single Page Application,假设我在屏幕上编辑一篇文章(及其相关元数据)。现在,帖子有很多类别、标签,可能还有其他相关的条目(hasMany) 在保存整个帖子时,我必须保存帖子以及与之关联的每个实体。我在AngularJS中就是这样做的: 所有数据都存储在一个单独的模型中,以便可以普遍访问。每个相关实体都有多个元数据,指示它们是新的、脏的还是存在服务器端验证错误 另一个名为“SaveCtrl”的控制器管理保存。它遍历帖子的所有实体,找出已更改的实体,并仅将它们与帖子一起发送到单个保存端点 我有一个解析服务器响应的工厂。由于

假设我在屏幕上编辑一篇文章(及其相关元数据)。现在,帖子有很多类别、标签,可能还有其他相关的条目(hasMany)

在保存整个帖子时,我必须保存帖子以及与之关联的每个实体。我在AngularJS中就是这样做的:

  • 所有数据都存储在一个单独的模型中,以便可以普遍访问。每个相关实体都有多个元数据,指示它们是新的、脏的还是存在服务器端验证错误

  • 另一个名为“SaveCtrl”的控制器管理保存。它遍历帖子的所有实体,找出已更改的实体,并仅将它们与帖子一起发送到单个保存端点

  • 我有一个解析服务器响应的工厂。由于服务器端验证错误,可能无法保存元素。无论如何,一旦我们得到响应,这些实体中的每一个都必须用新的状态和验证错误进行更新。这允许服务器端在没有任何错误的情况下更新实体,同时为少数有验证错误的实体返回错误

  • 现在,这种方法存在一些问题:

  • 储蓄并不完全是平静的。在检索数据时,我认为可能应该对每个资源()进行多个GET调用。然而,我不知道有没有类似的储蓄方法。我应该保存一个集合,还是一次保存一个实体

  • 每个实体的元数据(指定是新的、脏的、已保存的还是未保存的)必须放在模型数据本身中。由于ng repeat创建了一个单独的作用域,所以理想情况下,我希望将这些状态信息保存在这些单独的作用域中,并将ng repeat元素包装在一个控制器中,以处理这个问题

  • 我的问题 我应该使用哪种策略保存整个帖子及其所有相关实体?还是我目前的策略足够好?如果需要其他细节,请告诉我