我正在使用 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
?