javascript - 在 Angular 中隐藏过滤器组

标签 javascript angularjs

我的 REST API 正在返回分组数据,

{
  "Homer Simpson": [
    {
      "name": "First article",
      "type": "text"
    },
    {
      "name": "Second article",
      "type": "text"
    }
  ],
  "Marge Simpson": [
    {
      "name": "Third article"
      "type": "text
    }
  ]
}

可以过滤文章:

<input type="text" placeholder="Quicksearch" ng-model="quicksearch">
...
<div class="article-group" ng-repeat="(author, articles) in articles">
  <h3>{{author}} ({{filtered.length}})</h3>
  <div class="article" ng-repeat="article in articles | filter: { name: quicksearch } as filtered">

这里重要的是({{filtered.length}})。通过在快速搜索输入中键入内容来应用过滤器后,长度会发生变化。一切正常,但我想隐藏“空”作者;如果您输入“third”,您将不会再看到 Homer Simpson。

article-group div 上尝试了 ng-if="filtered.length > 0",但这不起作用。

最佳答案

您可以简单地将 ng-show="filtered.length" 放在 .article-group 容器上:

<div class="article-group" ng-show="filtered.length" ng-repeat="(author, articles) in articles">
  <h3>{{author}} ({{filtered.length}})</h3>
  <div class="article" ng-repeat="article in articles | filter: { name: quicksearch } as filtered">
    <pre>{{ article | json }}</pre>
  </div>
</div>

关于javascript - 在 Angular 中隐藏过滤器组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37640156/

相关文章:

javascript - Jquery Mobile动态生成列表

javascript - 无法转换 javascript 参数

javascript - Angularjs 与 Typescript 错误 : [ng:areq] Argument 'IndexViewModel' is not a function, 未定义

javascript - 数据请求有时是异步的

javascript - 以冒号开头的 HTTP/2 请求和 header

javascript - Chakra UI 未在本地加载图像

javascript - 即使选项卡未处于事件状态,如何使 JavaScript 在 Chrome 中以正常速度运行?

javascript - 在 angular.js 中过滤 $routeParams

css - Angularjs - 导航栏下拉菜单在用户界面布局中重叠

javascript - Angular : How can I transclude an element into a template that uses ng-repeat?