javascript - ng-重复未知数量的项目

标签 javascript arrays angularjs multidimensional-array

好吧,这看起来很奇怪,但我允许我的用户创建他们想要的任意数量的类别/子类别

当我提取类别数据时,它可能看起来像这样:

enter image description here

正如您从上面的示例中看到的那样,子类别可以包含此列表树可以永远继续下去的子类别。

现在尝试制作菜单,我有一个简单的列表:

    <ul class="nav dker">
    <li ui-sref-active="active">
        <a ui-sref="app.ui.jvectormap" href="#/app/ui/jvectormap">
            <span translate="aside.nav.components.ui_kits.VECTOR_MAP" class="ng-scope">Vector Map</span>
        </a>
    </li>
</ul>

这里的问题是我不知道我必须重复多少次子类别,这让我无法知道何时检查它?

我希望你知道我将如何处理这个问题,当我不知道有多少级别时,我如何才能制作一个遵循上述数组模式的可靠列表?

最佳答案

你将要创建一个递归模板,它基本上看起来像这样:

<div data-ng-include="'displaySubcategory.html'"></div>

其中 displaySubcategory.html 包含 ng-repeat 和对自身的递归调用。

<div data-ng-repeat="category in category.subcategories">
    <h1>{{category.name}}</h1>
    <div data-ng-include="'displaySubcategory.html'"></div>
</div>

想法是,每次调用 ng-repeat 时,都会在子元素周围创建一个范围,因此调用 {{category}} 将显示最低的树/数据结构的级别(当前子级)。

关于javascript - ng-重复未知数量的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31388241/

相关文章:

JavaScript Focus() 位于带有 float 导航栏的元素 ID 上?

javascript - 如何使用 Angular.js/Javascript 为 url 添加输入字段验证

javascript - 删除元素上的功能

JavaScript 在数组中使用 Indexof 搜索名称

android - 创建资源 ID 的整数数组

javascript:对于数组中的每个项目:创建 div、移动 div 并在时间段后删除 div

angularjs - 如何将 ng-href 与绝对 url 一起使用?

javascript - 如何从对象中获取ng-repeat中被点击的元素之一?

javascript - 无法获取 vars 的值以使用 javascript 动态创建表单

javascript - jQuery jCorner 插件无法工作 - 我缺少什么