我有文件和文件夹。文件夹包含文件。
我从服务器获得的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>
可以将文件移动到不同的文件夹中!
答案 0 :(得分:1)
“最佳方式”始终是最容易维护的方式。就我个人而言,我喜欢选项2(过滤器),因为它符合您获得的数据。但是,选项1(json结构)是更好的IMO数据表示。如果您坚持使用该数据结构,那么我猜选项2将是我的选择。
...但我对你的申请结构一无所知。这是持久到数据库吗?什么时候坚持下去?瞬间?或者只有在保存被调用后?很多因素会影响哪种结构最适合您,并且对您的特定解决方案更易于维护。