2017-07-08 42 views
1
saveDetails(){ 
    this.afAuth.authState.take(1).subscribe(auth => { 
    this.af.object('request/${auth.uid}').set(this.request) 
    .then(); 
    }) 

執行此方法,錯誤:Firebase.child失敗:第一個參數是無效的路徑:「request/$ {auth.uid}」。路徑必須是非空字符串,不能包含「。」,「#」,「$」,「[」或「]」。嘗試刪除$但這不起作用。很確定我不會傳遞空字符串。

+1

如果您要使用字符串插值,則需要使用反標記(')而不是單引號(')來包裝字符串。 –

+0

我的天啊感謝! –

+1

不要忘記將以下答案之一標記爲已接受。 –

回答

3

如果你要使用字符串插值,你需要使用單引號(`),而不是單引號('),包裝一個字符串。見下文。

saveDetails(){ 
    this.afAuth.authState.take(1).subscribe(auth => { 
    this.af.object(`request/${auth.uid}`).set(this.request) 
    .then(); 
    }) 

容易忘記的人! :)

1

使用你的變量在這種情況下正確的方法是這樣的

saveDetails(){ 
    this.afAuth.authState.take(1).subscribe(auth => { 
    this.af.object('request/'+ auth.uid).set(this.request) 
    .then(); 
    }) 
+0

這個答案是另一個不錯的選擇。不要一直使用錯誤的引號,而是堅持使用+連接 –

相關問題