javascript - 在 ng-repeat 循环中仅显示某些 html 元素的最佳方法是什么

标签 javascript html angularjs

我想在 ng-repeat 中使用 ng-if (如本问题所述): 但是,我想当且仅当 if 条件成立时才在表中显示一行。在上述问题的答案中,您将得到空的 div 标签,其中 if 条件不成立。这对于 div 来说不会造成太大问题,但是当对表执行相同操作时,您不希望在 tr 标记之间有 div (或 span)标记。

还有其他我可以使用的标签或指令吗?

最佳答案

更好的主意是使用(自定义)过滤器。 这样,只会生成所需的行,而不是隐藏/删除现有行。

我刚刚做了a plunk对于另一个问题,展示了如何使用过滤器:

相关行是这一行:

<tr ng-repeat='item in appVm.users |filter:test'>

您可以直接在代码中使用对象,如下所示:

<tr ng-repeat='item in appVm.users |filter:{age:32}'> 

如果您将该行放入我链接的示例中,您可以看到效果如何!

这对你有帮助吗?

关于javascript - 在 ng-repeat 循环中仅显示某些 html 元素的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26120514/

相关文章:

javascript - Js中阻止函数多次运行的最佳方法是什么

javascript - Angular js 输入模型在 Controller 内部无法访问

javascript - 正则表达式也允许斜线 "/"与现有的正则表达式

javascript - HTML 表单与 XMLHTTPRequest?

javascript - 调用服务返回未定义

JavaScript 检查元素是否为子元素

python - 未找到 :/products/images/DSroadmap. png 未找到 :/products/images/codewall. jpg [2020 年 1 月 26 日 22:13:36]

javascript - 如何从包含特定单元格值的 Web 表格中获取整行

javascript - angularJs - 如何防止执行额外的代码

javascript - AngularJS传单问题