我正在尝试创建一个删除函数,该函数将从 Firebase 中删除我的对象。
我在 FireBase 上有以下结构:
recipes recipebooks recipesPerRecipebook
- id - id - recipebook_id
- id - id - recipe_id: true
我想做的是,当我点击删除时,我想从 recipes
中删除 recipe_id
并将其从 recipesPerRecipebook/${recipebook_id} 中删除
我在我的 recipes.service.ts 中创建了一个函数
deleteRecipe(recipe_id:string, recipebook_id:string) {
this.sdkDb.child('recipes').remove(recipe_id)
.then(
() => alert('recipe deletion requested !')
);
this.sdkDb.child('recipesPerRecipebook/${recipebook_id}').remove(recipe_id)
.then(
() => alert('recipe Association deletion requested !')
);
}
然后我将其放入 recipeDetails.component.ts
delete() {
this.recipesService.deleteRecipe(this.recipe.$key, this.recipe.recipebook_id);
}
我收到以下错误:
error_handler.js:54 错误:Firebase.remove 失败:第一个参数必须是有效函数。
我有两个问题,首先也是最重要的是我哪里出错了。其次做 this.sdkdb.child(...
两次感觉有点不对劲,我可以简化一下吗?
最佳答案
看起来很奇怪。
所以你应该能够像这样删除一个对象:
af.database.object('/--your-list-name--/--your-obejct-key--').remove();
其中 af
是注入(inject)的 AngularFire2 服务。
关于angular - 使用 AngularFire 2 从 Firebase 中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40653596/