我有文件和文件夾。文件夾包含文件。Angularjs:處理項目數據中外鍵的最佳方法
,我從服務器獲取JSON看起來是這樣的:
folder: {id: 5, name: "my stuff" }
file: {id: 3, name: "my file", folderId: 5}
file: {id: 5, name: "my file 2", folderId: 5}
請告訴我建立一個文件夾的最佳方式 - 文件結構?巢狀文件夾中的文件:
{id: 5, name: "my stuff" files: [
{id: 3, name: "my file", folderId: 5},
{id: 5, name: "my file 2", folderId: 5}
]},
{id: 6, name: "other things" files: [
{id: 1, name: "my file", folderId: 6},
{id: 2, name: "my file 2", folderId: 6}
]}
或者使用一個過濾器,只返回屬於某個文件夾ID的文件?像:
<li ng-repeat="folder in folders">
<ul>
<li ng-repeat="file in files | fileInFolder:folder.id"></li>
</ul>
</li>
文件可以移動到不同的文件夾!
過濾選項太慢了,因爲我只在嘗試訪問單個項目時迭代了所有項目。我建立了一些緩存,對我需要的對象進行正確的過濾,現在它像一個魅力一樣工作 – user1703761