Angular を使用し$resource
て Project オブジェクトを取得/更新しています。簡略化されたバージョンは次のようになります。
{
_id: "12345",
name: "whatever",
revisions: [
{ _id: "67890",
comments: [
{ _id: "13579", body: "here's a comment" }
]
}
}
したがって、各プロジェクトには、Comment オブジェクトの配列を含む Revision オブジェクトの配列が含まれており、それぞれに ID があります。
私のアプリケーションは、プロジェクト オブジェクト全体がないと役に立たないため、最も効率的な方法は、ページの読み込み時にプロジェクトを 1 回だけ要求することです。リビジョン (子オブジェクトの配列) を更新または追加したいとします。理想的な状況は、そのリビジョン オブジェクトを見つけて呼び出すことができることだと思います$save
。$resource
問題は、プロジェクトの子オブジェクトがルート プロジェクト オブジェクトに与える 機能を継承しないことです。
スコープ内のリビジョン オブジェクトを更新してからプロジェクトを呼び出すだけでよいことに気付き$save
ましたが、リビジョンが作成されると、プロジェクトが更新されるときとは異なり、コメントが作成されるときとは異なる、非常に特殊な動作がアプリに必要です。など
リビジョンと呼ばれる新しいタイプを作成し、$resource
独自の一意の URL を与えることができることはわかっていますが、そのオブジェクトを更新するには、最初にそれを要求する必要があります (非効率ですよね?)。
この問題を解決する方法について何か提案はありますか? $http
よりも使用したほうがよい$resource
ですか?