错误:路径必须是非空字符串,不能包含“。”,“#”,“$”,“[”或“]”(离子2和firebase)

时间:2017-07-08 17:06:28

标签: javascript angular firebase firebase-realtime-database ionic2

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

执行此方法后,出现错误:Firebase.child失败:第一个参数是无效路径:“request / $ {auth.uid}”。路径必须是非空字符串,并且不能包含“。”,“#”,“$”,“[”或“]”。尝试删除$,但这不起作用。很确定我也不会传空字符串。

2 个答案:

答案 0 :(得分:6)

如果要使用字符串插值,则需要使用反向标记(`)而不是单引号(')来包装字符串。见下文。

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

容易忘记! :)

答案 1 :(得分:2)

在此上下文中使用变量的正确方法是

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