Firebase存储出错

时间:2017-03-30 18:19:54

标签: javascript angular firebase firebase-storage

当我在angular和Firebase

中尝试此删除功能时
/item.component.ts

import { Component, OnInit } from '@angular/core';
import { FirebaseService } from '../../services/firebase.service';
import { Router} from '@angular/router';
import * as firebase from 'firebase';

@Component({
  selector: 'app-item',
  templateUrl: './item.component.html',
  styleUrls: ['./item.component.css']
})

export class ItemComponent implements OnInit {
  id:any;       

  constructor(
    private firebaseService: FirebaseService,
    private router: Router      
  ) { }

  ngOnInit() {

  }

  onDeleteClick(){
    this.firebaseService.deleteItem(this.id);

    this.router.navigate(['Items']);
   }
 }

on firebase服务

/firebase.service.ts

deleteItem(id){
 return this.items.remove(id);
}

控制台返回此错误

Firebase Storage: Invalid argument in `child` at index 0: Expected string

该记录已从Firebase中删除,但它始终显示该错误。 有什么想法吗?

感谢

1 个答案:

答案 0 :(得分:2)

来自Firebase API: https://firebase.google.com/docs/reference/js/firebase.database.Reference#child

因此child方法只能得到String,这是:

  

从此位置到所需子位置的相对路径。

它会返回对Firebase存储中孩子所在位置的引用。您收到的控制台错误意味着传递给child的参数不是String

在您的情况下,如果id是像Alex在评论中指出的数字,则可能会导致该错误。