如何通过过滤器显示特定值
How to display particular value via filter?
我的应用程序中有这样的数据:
birthdayGreetings:Array<any> = [
{
name: 'John',
date: new Date(1994, 3, 19),
greeting: 'Happy Birthday, John! Good luck!',
displayName: false
}
];
当日期在本周时,我只需要显示NAME,所以我这样做:
export class ThisWeekPipe {
transform(myArr) {
var result = myArr.filter(
item => {
var day = item.date.getDate();
if(day >= 4 && day <= 10) {
item.displayName = true;
return true;
}
}
);
return result;
}
}
但我总是得到相同的结果(只是数组中的元素可以使用该过滤器)
这是html:
<ul>
<li *ngFor="#manBirthday of birthdayGreetings | thisWeekPipe">
{{ manBirthday }}
</li>
</ul>
我怎样才能以正确的方式做到这一点?感谢
您可以通过以下方式更新管道:
@Pipe({
name: 'thisWeekPipe'
})
export class ThisWeekPipe {
transform(myArr) {
return myArr.filter(item => {
var day = item.date.getDate();
return (day >= 4 && day <= 10);
}).map(item => item.name);
}
}
首先过滤列表以仅获取与日期条件匹配的元素,然后仅使用name
属性。通过这种方式,您只能获得要在ngFor
循环中显示的名称列表。
看到这个plunkr:https://plnkr.co/edit/6VHtFp4zvvMdm3rXbFOP?p=preview.
相关文章:
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- 通过javascript显示和更改文本
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 如何通过ajax将png图片从服务器发送到浏览器中显示
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- 通过ID JavaScript显示随机背景图像
- 页面加载后通过javascript显示图像
- 为什么jqPlot显示了一个错误的饼图,其中包含通过AJAX检索的数据
- 如何隐藏和显示通过窗体填充的表
- 如何通过ibmworklight中的sql适配器从db2中检索或显示html页面上的数据?android混合应用程序开发
- 显示行动通过铁:路由器,模板是't从集合传递数据.findOne方法
- 如何显示我们通过Ajax调用收到的图像
- css显示属性通过javascript更改
- 隐藏和显示:之前通过Jquery或更好的解决方案
- 使用谷歌图表api和显示内容通过ajax在cluetip
- 如何显示用户通过JavaScript/HTML文本框输入的文本
- 如何上传捕获和显示视频通过phonegap安卓应用程序
- 价格计算器显示结果通过html输入
- 如何正确地隐藏/显示html通过ng-if/ng-show/ng-hide从app.run函数
- Html单击事件没有在页面上显示结果(通过使用JavaScript)