angularjs unnest ng-repeats 进入一个查询
Posted
技术标签:
【中文标题】angularjs unnest ng-repeats 进入一个查询【英文标题】:angularjs unnest ng-repeats into one query 【发布时间】:2014-04-29 10:39:10 【问题描述】:<div ng-repeat="blub in filtered = (blubs | filter:tag)">
<span ng-repeat="tag in blub.tags" class="tag-box">tag</span>
</div>
如何将其取消嵌套到一个查询中。我想象它是这样的:
<span ng-repeat="tag in blub.tags in filtered = (blubs | filter: tag)>tag</span>
对象 blub 有多个标签,有多个 blub 对象。
编辑: 柱塞: http://plnkr.co/edit/mWjyryOsV5zZJisZzV3D 目标:将 2 次 ng-repeat 减少为 1 个 ng-repeat,显示相同的标签。
【问题讨论】:
请尝试多解释一下这个问题,plunkrs / demos 总是有用的 【参考方案1】:在这种情况下,我建议您首先创建一个集合,而不是进行双循环。
<span ng-repeat="tag in getBlupList(filtered)" class="tag-box">tag</span>
其中 getBlupList(filtered) 是 JS 方法。某种 reducer 可以创建一个列表而不是您拥有的列表。 我不知道你的收藏是什么样子,但就我个人而言,在这种情况下,最好的解决方案是使用 Underscore.js lib。 ".flatten()" 或 ".pluck()"
【讨论】:
好的,所以没有脚本就没有选择吗?因为这使得 angular 的所有不错的过滤功能不再有用,如果我无论如何都必须在 .js 文件中过滤才能获取列表。 我不知道没有脚本的方法。而且您仍然可以使用过滤器。您可以在从服务器获取数据后创建一个数组或集合,并将此变量添加到 ng-repeat。很难判断,因为我不知道你的收藏是什么样子的。以上是关于angularjs unnest ng-repeats 进入一个查询的主要内容,如果未能解决你的问题,请参考以下文章