2016-05-05 20 views
0

我有一個AngularJS應用程序,我將轉換爲使用js-data。如果我有一個REST接口,在這種格式如何在一個請求中填充多個js數據資源

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

我怎麼去提取 related.DeptList並注入JS-數據返回一個JSON對象?我有一個可以返回數據對象的反序列化函數,但無法看到如何提取相關數據。

回答

0

在JSData 2.x中,一種方法是遍歷Resource傳遞給deserializerelationList領域,擺脫你的related場關係到超過其預期的位置。

下面是展示一個plunker:https://plnkr.co/edit/suesxw?p=preview

在plunker的代碼是相當普遍的,但也有可能錯過一些邊緣情況和改進,可以以更好地滿足您的使用情況。

這是基於新的JSData v3的一個稍微不同的例子:https://plnkr.co/edit/IZJa6jP4cxySlbyRFYF3

+0

感謝@jdobry,這是一個完美的的hasMany關係。我不夠清楚,對不起。有問題的記錄是用戶,所以關係是一個hasOne。我認爲我可以從反序列化內部引用DS,所以我只能說DS.inject(relatedData),但我不知道如何從資源本身引用相關資源。 –

+0

這就是我希望實現DS.inject(def.localField,relatedData)' –

+0

不,你是對的......你的解決方案也適用於hasOne關係。非常好,非常感謝。 –

相關問題