我有文件和文件夹。文件夹包含文件。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