Angular 角度动态过滤器占位符/回退文本?
我正在尝试为动态筛选器创建占位符文本回退,但无法使其正常工作,并且不确定是否确实可行 过滤代码为:Angular 角度动态过滤器占位符/回退文本?,angular,filter,filtering,fallback,Angular,Filter,Filtering,Fallback,我正在尝试为动态筛选器创建占位符文本回退,但无法使其正常工作,并且不确定是否确实可行 过滤代码为: *ngFor="let example of scale.examples | filter:{type: 'solo'} 如果过滤器类型不匹配,我希望能够指定占位符/回退文本。您几乎可以在任何地方应用管道。所以你可以这样做: <div *ngIf="(scale.examples | filter:{ 'type': 'solo' }).length === 0">No Value
*ngFor="let example of scale.examples | filter:{type: 'solo'}
如果过滤器类型不匹配,我希望能够指定占位符/回退文本。您几乎可以在任何地方应用管道。所以你可以这样做:
<div *ngIf="(scale.examples | filter:{ 'type': 'solo' }).length === 0">No Values</div>
<div *ngFor="let example of scale.examples | filter:{ 'type': 'solo' }">
{{example.value}}
</div>
无值
{{example.value}}
这是一个正在工作的Plunker:
更新
如果不想让数组排序两次,可以使用新的ngIf-else语法:
<div *ngIf="(myArr | filter:{ 'type': 'triple' }); let filteredArr" style="color: blue;">
<div *ngIf="filteredArr.length === 0">No Results</div>
<div *ngFor="let myObj of filteredArr" style="color: blue;">
{{myObj.value}}
</div>
</div>
没有结果
{{myObj.value}
这是一个正在工作的Plunker:
如果您希望它更优雅,那么最好在组件端对阵列进行排序,然后使用它。您所说的回退到底是什么意思?你是说如果过滤器返回0个结果,那么你想显示一些占位符文本吗?是AngularJS还是AngularJS?你的标题是AngularJS,但代码是AngularJS!!是如果筛选器返回零结果,则显示一些占位符文本。这是Angular 4,我在爱奥尼亚3应用程序中使用它。谢谢。谢谢,这很有效(我已经实现了),但是我想知道是否有更干净的方法可以做到这一点?我也添加了另一种方法。谢谢,非常感谢。