Javascript Firebase存储上出现错误
当我在angular和Firebase中尝试此删除函数时Javascript Firebase存储上出现错误,javascript,angular,firebase,firebase-storage,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'; @Co
/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']);
}
}
关于firebase服务
/firebase.service.ts
deleteItem(id){
return this.items.remove(id);
}
控制台返回此错误
Firebase Storage: Invalid argument in `child` at index 0: Expected string
该记录已从Firebase中删除,但它始终向我显示该错误。
有什么想法吗
感谢Firebase API:
因此child
方法只能获得一个String
,它是:
从此位置到所需子位置的相对路径
并返回一个对该子对象在Firebase存储中的位置的引用。您收到的控制台错误意味着传递给子对象的参数不是字符串
在您的情况下,如果id
是Alex在评论中指出的一个数字,则可能会导致该错误。请提供一个包含服务的列表。不熟悉firebase,但我猜this.id
是this.firebaseService.deleteItem(this.id)中的一个数字
而firebase需要中的字符串返回此.items.remove(id)
。或者至少是代码中某个地方的某种类型的不匹配。