Javascript 使用angular从复杂json显示列表
我有这个JSON(我没有创建它,也不能更改它) 我想将其显示为一个列表,如果某个标题只有一个选项,则该标题应显示在列表中,如果某个标题在选项中有多个项目,则应显示主标题,并且还应显示选项标题。 最终结果(根据上述示例)应显示:Javascript 使用angular从复杂json显示列表,javascript,angularjs,json,html-lists,ng-repeat,Javascript,Angularjs,Json,Html Lists,Ng Repeat,我有这个JSON(我没有创建它,也不能更改它) 我想将其显示为一个列表,如果某个标题只有一个选项,则该标题应显示在列表中,如果某个标题在选项中有多个项目,则应显示主标题,并且还应显示选项标题。 最终结果(根据上述示例)应显示: <ul> <li>news<ul> <li>important</li> <li>less important</li
<ul>
<li>news<ul>
<li>important</li>
<li>less important</li>
</ul>
</li>
<li>entertainment</li>
</ul>
- 新闻
- 重要的
- 不那么重要
- 娱乐
如何在angularJS中实现这一点?如果
myList
是您在json对象的$scope
中使用的名称,您可以尝试类似的方法。
基本上是一个ng repeat
和一个内部ng repeat
<ul ng-repeat="element in myList.tags">
<li>
{{element.title}}
<ul ng-repeat="innerElement in element.options">
<li>{{innerElement.title}}</li>
</ul>
</li>
</ul>
-
{{element.title}
- {{innerElement.title}
我假设您的json文件存储在名为result的变量中
<ul ng-repeat = "tg in result.tags">
<li ng-if="tg.options.length > 1">{{tg.title}}
<ul ng-repeat ="innerElement in tg.options" >
<li>{{innerElement.title}}</li>
</ul>
</li>
<li ng-if="tg.options.length==1">{{tg.title}}</li>
</ul>
- {{tg.title}
- {{innerElement.title}
- {{tg.title}
Thnx,上述两项建议都有助于解决问题。
我需要将两个ng repeat
循环嵌套在一起,并对内部循环应用ng if
我最终得到了这样的结论:
-
{{x.title}}
{{y.title}}
<ul ng-repeat = "tg in result.tags">
<li ng-if="tg.options.length > 1">{{tg.title}}
<ul ng-repeat ="innerElement in tg.options" >
<li>{{innerElement.title}}</li>
</ul>
</li>
<li ng-if="tg.options.length==1">{{tg.title}}</li>
</ul>