Angular ngFor ngIF 通过管道过滤数据的条件

2024-01-23

ngFor 基于使用管道的搜索进行过滤 - 这工作正常,

现在我必须根据搜索查询添加 ngIf 条件

如果没有任何结果,那么我必须显示另一个带有“无数据”文本的新 div

<input type="text" [(ngModel)]="queryString" placeholder="Search to type">

<li *ngFor="let project of projects | FilterPipe: queryString ;>
{{project.project_name}} 
</li>

//pipe

transform(value: any, input:any ): any {
    if(input){
      input = input.toLowerCase();
      return value.filter(function (el: any) {
        return el.project_name.toLowerCase().indexOf(input) > -1;
      })
    }
    return value;
  }

使用结果filter在模板中的管道中,您可以借助以下命令创建局部变量as关键词。

<li *ngFor="let project of (projects | FilterPipe: queryString) as results">
  {{project.project_name}} 
</li>

现在您可以在以下位置访问过滤管道的结果results多变的。但此局部变量的范围现在仅限于托管 HTML 元素及其子元素。我们可以通过稍微重写您的代码来解决这个问题。

<ul *ngIf="(projects | FilterPipe: searchQuery) as results">
  <li *ngFor="let project of results">
    {{project.project_name}} 
  </li>
  <span *ngIf="results.length === 0">No data</span>
</ul>

这样我们就扩大了范围results变量,我们可以轻松地使用它来显示No Data当过滤后的数据集为空时。

这是一个工作示例堆栈闪电战 https://stackblitz.com/edit/angular-custom-fitler-pipe.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular ngFor ngIF 通过管道过滤数据的条件 的相关文章

随机推荐

  • “当站点管理员使用继承的配置文件中的 锁定对此部分的访问时。”

    因此 我在发布 ASP NET MVC 应用程序时收到此错误 它在本地运行良好 当站点管理员锁定对此的访问时 就会发生这种情况 部分使用
  • 将自定义字体添加到 cordova 项目

    我有一个自定义字体 我想在我的应用程序中使用 字体名称是 myfont 扩展名的文件是 myfont eot myfont svg myfont ttf myfont woff myfont woff2 当我进行 cordova 构建时 它
  • 在链表中使用C++模板,列表中出现多种不同类型

    首先 作为免责声明 这与作业有关 我不是要求任何人为我做作业 只是为了尝试帮助我理解如何正确实现模板 我当前的设置是 我有 A 类 这是一个基类 B C D班都是A班的孩子 我正在尝试创建一个链接列表 在单个列表中可以指向 B C 或 D
  • 仅 CSS 砌体布局

    我需要实现砖石布局 但是 出于多种原因 我不想使用 JavaScript 来完成此操作 参数 所有元素都具有相同的宽度 元素的高度无法在服务器端计算 图像加上各种数量的文本 如果必须的话 我可以接受固定数量的列 有一个简单的解决方案可以在现
  • 表单未保存到数据库

    我为 5K 跑步制作了一个表格 用户输入有关他 她的基本信息 名字 姓氏 电子邮件 组织 是否参加活动 并在查看豁免表格后选中复选框 我在最后放置了一个提交按钮 我在将表单连接到数据库时遇到问题 我已经尝试连接并在 mySql 中制作了一个
  • 随机地形生成

    如何制作一个地形生成器来制作更真实的地形 我当前的生成器可以生成这种类型的地形 我怎样才能让它制作出更真实的地形 比如湖泊和河流 基本上 您在生成的地形上定义并应用一组过滤器 我无法详细说明 但我会提供一些提示供您谷歌 沃罗努图 侵蚀过滤器
  • 如何一次一行读取 csv 文件并随时替换/编辑某些行?

    我有一个 60GB 的 csv 文件 需要对其进行一些修改 客户想要对文件数据进行一些更改 但我不想重新生成该文件中的数据 因为这花了 4 天的时间 如何逐行读取文件 不是将其全部加载到内存中 并随时编辑这些行 替换某些值等 这个过程大概是
  • JQuery Ajax Post 导致 500 内部服务器错误

    我正在尝试执行此 AJAX 帖子 但由于某种原因我收到服务器 500 错误 我可以看到它在控制器中遇到了断点 所以问题似乎出在回调上 任何人 ajax type POST url InlineNotes Note ashx id notei
  • 在 Angular 中使用 bigint 文字时模块解析失败

    我正在开展一个个人项目来尝试学习 Angular 框架 我目前是它的新手 但我已经设法 我认为 包含javascriptbigint在打字稿中正确输入数字 通过在 tsconfig json 文件中定位 esnext 版本 因为这工作正常
  • Bootstrap 轮播上的动画高度变化 (v2.3.2)

    我正在尝试使用 Bootstrap 的轮播来处理高度不同的内容 高度会根据浏览器宽度而有所不同 并且轮播下方有内容 我想使用 CSS 来动画幻灯片之间的高度变化 在朋友的帮助下 我几乎可以在 FireFox 中实现此功能 第一张幻灯片跳转
  • 从 Cognito 触发器发送消息

    我想限制用户从 Cognito 托管的 UI 登录 我可以看到有触发器可以附加 lambda 但是每当我更改 lambda 内部的事件对象时 而不是获取自定义消息User exceeded limits I get unrecognizab
  • 如何像屏保一样改变CAGradientLayer的颜色?

    我被创造了UIView与申请CAGradientLayer颜色效果如我所附图片所示 现在 我想像屏幕保护程序一样平滑地改变它的渐变颜色从上到下的变化 我已经尝试过使用NStimer有点完成了 但它的颜色在改变CAGradientLayer看
  • 智能 JVM 和 JIT 微优化

    随着时间的推移 Sun 的 JVM 和 JIT 已经变得相当智能 过去作为必要的微优化而成为常识的事情不再需要 因为它会为您处理好 例如 过去的情况是 您应该将所有可能的类标记为 Final 以便 JVM 内联尽可能多的代码 然而现在 JI
  • C# 线程,WaitHandle.WaitAll

    是否可能不使用 WaitHandle WaitAll waitHandles 阻止 winForm 而只是设置另一个线程 当从 WaitHandle WaitAll 获取 complate 信号时将触发该线程 我不会使用WaitHandle
  • 使用 JavaScript 从对象中递归删除属性和值的最快方法是什么?

    我需要找到最快的方法来删除所有 meta对象的属性及其值 例如 part one name My Name something 123 meta test test123 part two name name dob dob meta so
  • Android PDF页面转图像api

    有没有可能的方法将 pdf 转换为图像并在图像视图上显示它们 PDF 不是由图像组成 而是由矢量组成 T Couple 开源 Java PDF 到图像转换器 例如 http www jpedal org http www jpedal or
  • 当所述列的值为 NULL 时,我在可空列上使用 JSON_extract 函数的 where 语句是否得到确认?

    我有一个 where 语句 其中包含 JSON extract 方法 JSON extract 使用一个名为的可为空列new value or old value 如果列包含 JSON 字符串 则该检查有效 但当列为 NULL 时 wher
  • jsf/primefaces 在 bean 初始化期间加载指示器

    在我的 JSF Primefaces 项目中 我在 bean 的 init 构造后 方法中加载了大量数据 这就是为什么我想在 Bean 加载期间显示 gif 指示器 我尝试使用 primefaces 和 Ajax 状态 展示的程序化版本 h
  • 无需 Web 界面即可在 Drupal 中切换主题

    我正在学习 php 和创建主题 不幸的是 当我编辑当前在 drupal 中使用的主题时 我在主题中犯了一个错误 即使我点击 drupal index php 也不会再显示任何内容 我想将损坏的 drupal 主题更改为可用的主题 但我无法这
  • Angular ngFor ngIF 通过管道过滤数据的条件

    ngFor 基于使用管道的搜索进行过滤 这工作正常 现在我必须根据搜索查询添加 ngIf 条件 如果没有任何结果 那么我必须显示另一个带有 无数据 文本的新 div