Angular:ngFor 的递归调用

标签 angular

我有一个 JSON,其中包含一些嵌套对象。因此,为了将它们显示在 View 中,我创建了以下内容:

<div *ngFor="let item of trees">
    <div *ngFor="let obj of item | keyvalue">
        <div *ngFor="let obj1 of obj.value | keyvalue">
            <div *ngIf="!ifLeaf(obj1.value)">
                <b>{{ obj1.key }}</b>
                <div *ngFor="let obj2 of obj1.value | keyvalue">
                    <div *ngIf="ifLeaf(obj2.value)">
                        <i>{{ obj2.key }}</i>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

JSON 看起来像这样:

trees[
        header: {
            first: {
                title: {
                    name: "Test"
                }
            },
            second: {
                title: {
                    top: {
                        name: "Test"
                    }
                },
                desc: {
                    name: "Test"
                }
            }
        }
    ]

该代码最多可以显示 2 个嵌套对象及其键和值。但是如果最后一个对象在其自己的对象中还有 3 个嵌套对象怎么办?有没有一种方法可以动态地做到这一点,而无需硬编码?我确信对此有更好的解决方案。我真的很感激!

最佳答案

您可以通过创建递归组件来解决它。例如https://netbasal.com/recursion-in-angular-components-1cd636269b12

关于Angular:ngFor 的递归调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58914766/

相关文章:

javascript - 内容溢出时如何用css badge限制div

javascript - Angular 4 使用从 something.component.ts 到 something.component.css 的值

Angular2 - 什么是好的 'dist' 文件夹大小?

angular - 如何在 Angular 服务中正确检索和缓存数据

html - 在 Angular 中为选择下拉菜单创建新对象

javascript - Angular2 - 选中 ngFor 和 react 形式中的复选框

Angular 2 不使用 CORS 保存我的身份验证 Cookie

javascript - Angular 2 : Google authentication sign in work only one time

javascript - 如何使我的 JS 解决方案发挥作用?

javascript - 如何从 Angular 2 中的另一个 Promise 函数调用一个 Promise 函数?