在我的component.ts中,我有一个从服务返回数据的函数,并将其保存到myPosts对象。该函数名为getData(); 我想要做的是在ngOnInit()上调用它之前最初按日期过滤getData。
所以最初我的桌子会显示所有的最后几个月'帖子。 然后我应该能够在另一个函数上更改日期并过滤不同的范围。
我的过滤功能在控制器上。 在获取数据后如何调用过滤器函数,以便最初在ngOnInit上过滤数据?
public class DecimalToBinary{
public static void main(String a[]){
System.out.println("Binary: ");
System.out.println(Integer.toBinaryString(200));
System.out.println("\nBinary: ");
System.out.println(Integer.toBinaryString(500));
System.out.println("\nBinary: ");
System.out.println(Integer.toBinaryString(3400));
}
}
答案 0 :(得分:0)
创建一个方法来过滤然后分配数据,如下所示
filterByDate(myPosts){
const monthAgo= moment().subtract(1, 'month');
return myPosts.filter(item => moment(item.SubmittedDate).isAfter(monthAgo));
}
在onInit函数中,使用该函数
public getData() {
this.postsService.getAllPosts().subscribe(results => {
this.myPosts= this.filterByDate(results['data']);
});
}
答案 1 :(得分:0)
在构造函数中调用getData()
方法,然后在ngOnInIt中使用过滤函数filterByDate()
export class SomeClass implements OnInIt {
public getData() {
this.postsService.getAllPosts().subscribe(results => {
this.myPosts = this.filterByDate(results['data']);
});
}
public filterByDate(myPosts){
const monthAgo = moment().subtract(1, 'month');
return myPosts.filter(item =>
moment(item.SubmittedDate).isAfter(monthAgo));
}
constructor() {
this.posts = this.getData();
}
ngOnInIt() {
this.filterPosts = this.filterByDate(posts);
}
}