2017-08-14 19 views
0

我使用的是什麼角和火力地堡 - 這可能在解析器使用查詢?

  • 火力地堡

我試圖實現日期的順序

  • 顯示項目(一鍵在firebase「project_date」。看到下面的節點標題截圖)enter image description here

問題

  • 我目前使用的解析器返回我的項目
  • 是否有可能合併查詢/排序到我的解析器?

我的項目清單解析器

import { Injectable } from '@angular/core'; 
 
import { AngularFireDatabase } from 'angularfire2/database'; 
 
import { AuthService } from '../../user/auth.service'; 
 
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; 
 
import 'rxjs/add/operator/first'; 
 
import { Observable } from 'rxjs/Observable'; 
 

 
@Injectable() 
 

 
export class ProjectsListResolver { 
 

 
    constructor(private database: AngularFireDatabase, private authService: AuthService) { } 
 

 
    
 
    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> { 
 

 
    return Observable.create(observer => { 
 

 
     this.authService.user 
 
     .first() 
 
     .subscribe(user => { 
 
      this.database.list(`/project_list/${user.uid}`) 
 
      .first() 
 
      .subscribe(projectList => { 
 
       observer.next(projectList); 
 
       observer.complete(); 
 
      }); 
 
     }); 
 
    }); 
 
    } 
 

 
}

項目組件TS

ngOnInit() { 
 

 
    // Returns the data from the projects list resolver 
 
    this.activatedRoute.data 
 
     .subscribe((
 
     data: { projectListData: any }) => { 
 
     this.projectsList = data.projectListData; 
 
     }); 
 
    }

任何幫助將不勝感激!

回答

0

我這樣做,我的申請。首先,當你從火力地堡中的數據,它是JSON所以你必須將其更改爲陣,那麼你必須根據日期排序的數組。這是排序功能:

arr.sort((a: any [], b: any []) => { 

     return (new Date (a[0]) .getTime() - new Date (b[0]).getTime()) ; 
     }); 

如果你想完整的代碼,我可以將它張貼。

+0

嘿Zahmed。感謝您提供如此快速的迴應。如果你不介意的話,那會很棒。我非常新的這個,所以這是一個有點一步的學習曲線,它是如何將我的代碼集成以上將是非常美妙謝謝。我剛剛更新了我的文章,以包含來自我的項目組件文件的代碼,如果這增加了整體工作方式。 – MegaTron

+0

看時間考勤類,有一個叫函數:)AttendanceTime(.... 這是鏈接:https://github.com/AhmadZeid10/HRSystem/tree/master/src/app/manger – ZAhmed

+0

謝謝@ZAhmed。感謝您發佈代碼。不幸的是,這對我來說有點先進。 (我一個月前纔開始學習這個東西..) – MegaTron