私のcomponent.tsには、サービスからデータを返し、myPostsオブジェクトに保存する関数があります。この関数はgetData()と呼ばれます。 私がやってみたいのは、ngOnInit()でgetDataを呼び出す前に、最初にgetDataを日付でフィルタリングすることです。返されたデータをngOnInitでフィルタリングしました
最初は私のテーブルにすべての月の投稿が表示されます。 そして、別の関数の日付を変更し、さまざまな範囲でフィルタを適用できるはずです。
マイフィルタ機能はコントローラにあります。 最初にそのデータがngOnInitでフィルタリングされるように、データを取得した後でフィルタ関数を呼び出すにはどうすればよいですか?
public getData() {
this.postsService.getAllPosts().subscribe(results => {
this.myPosts= results['data'];
});
}
filterByDate(){
const monthAgo= moment().subtract(1, 'month');
this.myPosts= this.myPosts.filter(item => moment(item.SubmittedDate).isAfter(monthAgo));
}
ありがとうございます。しかし、私はこのデータを最初に返されるようにどこから呼び出すのですか? 現在、ngOnInitにあるgetData()を呼び出します。 –
私の更新された回答を確認してください – Aravind
MyPostsはフィルタリングされた結果を持つでしょう、はい。しかし、その後、ユーザーが表示される日付の範囲を変更する場合は? ngModelChangeでfilterByDateを呼び出し、myPostsを入力として与えません。 私は2つの別々の機能を使用しなければならないと思います。 –