1

我正在使用 Angular$resource来获取/更新我的项目对象,简化版本如下所示:

{
    _id: "12345",
    name: "whatever",
    revisions: [
        { _id: "67890",
          comments: [
               { _id: "13579", body: "here's a comment" }
          ]
        }
}

所以每个 Project 都包含一个 Revision 对象数组,其中包含一个 Comment 对象数组,并且我对每个对象都有一个 ID。

如果没有整个项目对象,我的应用程序将毫无用处,因此似乎最有效的做法是在页面加载时仅请求一次项目。假设我想更新或添加一个 Revision(这是一个子对象数组),我认为理想的情况是我可以找到该 Revision 对象然后调用$save它。问题是项目的子对象不继承$resource赋予根项目对象的功能。

我意识到我可以只更新我范围内的修订对象,然后调用$save项目,但是我的应用程序在创建修订时需要一个非常具体的行为,这与更新项目时不同,也不同于创建评论时, ETC。

我知道我可以创建一种$resource名为 Revision 的新类型并为其提供唯一的 URL,但为了更新该对象,我需要首先请求它(效率低下,对吗?)。

有人对我应该如何解决这个问题有任何建议吗?我比使用更好$http$resource

4

1 回答 1

1

如果您只获取一次数据并且不需要对其进行太多更新,那么使用$httpand可能会更好jsonp$resource是在$http内部使用,所以从长远来看差别不大。

于 2013-01-08T16:25:49.047 回答