2016-05-05 4 views
0

js-dataを使用するように変換しているAngularJSアプリケーションがあります。私はこの形式でJSONオブジェクトを返すRESTインターフェースを使用している場合1つのリクエストで複数のjs-dataリソースを設定する方法

{ 
    data: { 
    id: 1, 
    name: Test, 
    dept: 2 
    }, 
    related: { 
    DeptList: [ 
     { Id: 1, Name: Dept1 }, 
     { Id: 2, Name: Dept2 }, 
     { Id: 3, Name: Dept3 } 
    ] 
    } 
} 

は、どのように私は related.DeptListを抽出し、JS-データに注入については行くのですか?私は、データオブジェクトを返すことができますが、関連するデータを抽出する方法を見ることができませんdeserialize関数があります。 JSData 2.xで

答えて

0

、1つのアプローチは、deserializeに渡さResourcerelationListフィールドを反復し、その予想位置への上にrelatedフィールドから関係を移動することです。ここで

は示していplunkerです:https://plnkr.co/edit/suesxw?p=preview

コードをそのplunkerではかなり一般的ですが、より良いあなたのユースケースに合わせて行うことができるが、おそらくいくつか逃したエッジケースと改善。ここで

が新しいJSData v3のベータ版をもとに、わずかに異なる例である:https://plnkr.co/edit/IZJa6jP4cxySlbyRFYF3

+0

おかげで@jdobry、それは、hasManyの関係に最適です。私は十分ではなかった、申し訳ありません。問題のレコードはユーザーなので、関係はhasOneです。私はdeserialize内部からDSを参照することができると思ったので、DS.inject(relatedData)と言うことができますが、リソース自体から関連リソースを参照する方法はわかりません。 –

+0

これは私が 'DS.inject(def.localField、relatedData)'を達成したいと考えていたものです –

+0

いいえ、そうです...解決策はhasOne関係でも機能します。パーフェクト、どうもありがとう。 –

関連する問題