我想在过滤器返回空数组时显示一条消息,例如“未找到结果”
这是我的ngFor列表,它有一个过滤器
<li class="col-xs-12" *ngFor="let item of jobs | jobsFilter: [originalJobList, region, county, type]"></li>
<p>No results found</p>
如果没有过滤器,这很容易,但是因为有过滤器,我不知道怎么说过滤器没有返回结果。
这是我的过滤器:
import { Pipe } from "@angular/core";
@Pipe({
name: 'jobsFilter',
pure: true
})
export class JobsFilter {
transform(items: any, [originalList, region, county, type]: any) {
//Filter options:
var overallResults = originalList;
var filterByRegion = false;
var filterByCounty = false;
var filterByType = false;
if (region !== "Filter by Region") filterByRegion = true;
if (county !== "Filter by County") filterByCounty = true;
if (type !== "Filter by Type") filterByType = true;
if (filterByType) overallResults = overallResults.filter(item => item.type === type);
if (filterByRegion) overallResults = overallResults.filter(item => item.region === region);
if (filterByCounty) overallResults = overallResults.filter(item => item.county === county);
return overallResults;
}
}
这一切都有效,但我只需要向用户显示,过滤器没有返回结果,而是返回消息,而不是空屏幕。
<li class="col-xs-12" *ngFor="let item of jobs | jobsFilter: [originalJobList, region, county, type]"></li>
<p *ngIf="!(jobs | jobsFilter: [originalJobList, region, county, type]?.length)">No results found</p>
阅读以下帖子:
https://netbasal.com/using-pipe-results-in-angular-templates-430683fa2213
片段:
html prettyprint-override"><ng-container *ngIf=”(items | filter:search.value) as result”>
<div *ngFor=”let item of result”>
{{item}}
</div>
<p>Count: <b>{{result.length}}</b></p>
</ng-container>
问题内容: 我有这个映射: 而这个查询: 我等待25个结果,因为我有25个后索引。但是我得到一个空集。如果我删除嵌套的过滤器,一切正常。我希望能够过滤嵌套对象 在我的设置中,我有: 我在这里缺少什么。 谢谢 问题答案: 简短版本: 尝试此操作(更新端点和索引名称后): 它对我有用,并且简化了您的设置。稍后,我将发布带有较长解释的编辑。 编辑:长版: 查询的问题是分析器与查询中的过滤器结合在一起。您
问题内容: 我想在 angularjs 1.2中 使用unsafe-html 。没有html的过滤器可以工作,而html则不能。我做的事: 我在我的html头中添加了angular-sanitize: 我的角度模块: 我的HTML: 编辑:更新为 问题答案: 已在Angular 1.2中删除。由于您正确地清理了输入内容,因此应该使用。 示例:http://plnkr.co/edit/0bHeXra
问题内容: 我的应用程序中有2个过滤器。根据某些条件,我想选择是否执行第二个过滤器。有没有办法做到这一点? 我做了一些谷歌搜索,但没有成功。我希望请求继续执行而不执行第二个过滤器。那可能吗? 任何帮助将不胜感激。 问题答案: 您可以在请求中设置一个属性,然后在第二个过滤器中对其进行检查。 您可以像这样简化上面的代码: 这样,您只需检查属性“ executeSecondFilter”的存在
问题内容: 这是我的配置: 现在,当我尝试访问我的API时,出现以下错误: 我在做什么错,以及如何正确配置CORS标头以避免发生此问题? 问题答案: 我已经通过创建新的CORS过滤器解决了此问题: 并将其添加到安全配置中: 更新-如今,我使用了更现代的方式切换到:
我在让Jenkins multibranch pipeline检测Bitbucket服务器(私有实例)中创建的pull请求时遇到问题。我已经设置了“Bitbucket服务器到Jenkins的webhook”,这将触发除pull请求之外的构建主、开发和功能分支。我已经在Jenkisfile中定义了构建步骤,可以确认PR分支也包括Jenkinsfile。在Jenkins配置中,我在分支源配置下启用了“
在这个Plunker中,我有一个模板: 这是组件类: 这确实有效,我确实在输出中看到了。但是我想使用管道。 因此,我希望我的模板是: 但是有一个问题。 不是数组。它是一个具有prop的对象,该属性是必需的数组。 我不能这样做: 我创建了另一个plunker,它只返回一个数组: 而且它可以与一起工作。 问题: 看看我的第一个代码,我如何使用异步管道,同时仍然解析一个对象而不是一个数组?