从ts中的可观察任何数组中获取元素

时间:2018-03-20 23:01:03

标签: angular firebase ionic-framework observable

我无法从我正在使用的可观察接口数组访问元素。我正在使用包含元素时间作为字符串的接口。我要做的是访问最后一个登记入住时间并将其拉入并将其与我的结账时间进行比较,以便我可以看到签入和退房之间的时间。因此,我需要获取observable接口数组中的最后一项,并获取该项的时间元素。

所以我知道我有信息因为我的html ngFor显示它完全没问题,但我不知道如何从我的ts中访问数据以用于计算。我已经尝试获取可观察数组的计数/长度,然后用那个拉入最后一个元素,但那些保持抛出错误的原因是我读到的,你不能得到可观察数组的计数或长度。所以我尝试使用foreach循环并通过使用计数获取我想要的数据并将其递增直到最后一个然后只是获取元素然后它只是给了我一个没有数据的可观察量而且我也尝试过使用takeLast但得到与我尝试使用count时相同的问题。

我真的不知道在这一点上要尝试什么,或者如何获取我想要的数据。

这就是我从firebase中列出的列表。

  public checkInListRef:  AngularFireList<Profile>; 
  checkInList: Observable<CheckIn[]>;

  constructor(
    public geolocation: Geolocation,
    public profileProvider: ProfileProvider,
    public checkInProvider: CheckInProvider,
    public database: AngularFireDatabase,
  ) {
    firebase.auth().onAuthStateChanged(user => {
      if (user) {

        this.checkOutListRef = firebase.database().ref(`/userProfile/${user.uid}/checkOutList`);           

        this.checkInListRef = this.database.list(`/userProfile/${user.uid}/checkInList`);          

        this.checkInList = this.checkInListRef.snapshotChanges()
        .map(
          changes => {
            return changes.map(c => ({
              key: c.payload.key, ...c.payload.val()
            }))
          }
        );
      }
    });        
  }

我的Firebase数据树

Firebase Data Tree

0 个答案:

没有答案