我想在ng-repeat中使用ng-if(如本问题所述): 但是,当且仅当if条件成立时,我想在表中显示一行。在上面问题的答案中,您将获得if条件不成立的空div标签。这不会对div造成太大问题,但是当对表执行相同操作时,您不希望在tr标记之间使用div(或span)标记。
我可以使用其他标签或指令吗?
答案 0 :(得分:1)
如果您只想隐藏这些元素,可以考虑使用ng-show而不是ng-if。 也许你也可以在ng-if标签中添加ng-show,以便在空时隐藏它。
现在,如果您根本不想渲染内容,我认为唯一的解决方案是从控制器中的集合中删除这些元素
答案 1 :(得分:1)
更好的想法是使用(自定义)过滤器。 这样,只生成所需的行,而不是隐藏/删除现有的行。
我刚刚针对另一个问题提出a plunk,该问题展示了如何使用过滤器:
相关的是这一行:
<tr ng-repeat='item in appVm.users |filter:test'>
您可以直接在代码中使用对象,如下所示:
<tr ng-repeat='item in appVm.users |filter:{age:32}'>
如果您将该行放入我链接的示例中,您可以看到它会如何解决!
这对你有帮助吗?
答案 2 :(得分:0)
你可以使用ng-show.its用于显示和隐藏标签。如果你不想在标签内进行角度编译,你可以使用ng-if。