0

之前,我使用的是什麼角和火力地堡 - 檢查節點訂閱激活途徑

  • 火力地堡

我試圖做

  • 檢查看火力點,如果用戶ID是真/存在

  • 如果是,從另一個節點

問題顯示的項目列表

  • 我有這兩件的功能獨立工作
  • 我可以檢查用戶節點,看他們是否存在並寫入控制檯
  • 我可以顯示項目的列表
  • 我不能然而,檢查用戶,然後顯示項目

的列表這是檢查一個「成員」節點

這是代碼我用它來查看是否在成員中存在用戶鍵>項目ID

var userId = firebase.auth().currentUser.uid; 
 
    var pathToCheck = '/members/' + this.projectId + '/' + userId; 
 

 
    firebase.database().ref(pathToCheck).once('value').then(function (snapshot) { 
 
     if (snapshot.exists()) { 
 
     console.log('hooplar!'); 
 
     } else { 
 
     console.log('hmmm'); 
 
     } 
 
    }); 
 
    }

這是我如何擺放物品

this.activatedRoute.data.subscribe((
 
     data: { issueListData: any }) => { 
 
     this.issuesList = data.issueListData; 
 
    });

我想什麼發生

理想的情況下,這是我想的功能,但以下錯誤被拋出:

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'activatedRoute' of undefined

var userId = firebase.auth().currentUser.uid; 
 
    var pathToCheck = '/members/' + this.projectId + '/' + userId; 
 

 
    firebase.database().ref(pathToCheck).once('value').then(function (snapshot) { 
 
     if (snapshot.exists()) { 
 
     this.activatedRoute.data.subscribe((
 
      data: { issueListData: any }) => { 
 
      this.issuesList = data.issueListData; 
 
     }); 
 
     console.log('hooplar!'); 
 
     } else { 
 
     console.log('hmmm'); 
 
     } 
 
    }); 
 
    }

+0

你可以添加,作爲一個答案,因爲它完全有效:) – MegaTron

+0

好吧沒問題 - 完成。 – Vic

+0

[如何在回調中訪問正確的\'this \'](https://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-inside-a-callback) ) – Alex

回答

1

你沒有約束力this適當改變你再箭頭功能訪問範圍之外this。或者在你的功能結束時通過右大括號加上}.bind(this)我假設this.activatedRoute是你的類道具吧?這在你的功能是指數據庫承諾不是你的班級