1

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ですか?

4

1 に答える 1

1

データを 1 回だけ取得し、あまり更新する必要がない場合は、 and を使用する方がよい場合が$httpありjsonpます。$resource内部で使用して$httpいるため、長期的には大きな違いはありません。

于 2013-01-08T16:25:49.047 に答える