我有一个带有Firebase的小应用程序,正在实施CRUD操作。问题出在我必须删除帖子时。我收到此错误:Error: Reference.child failed: First argument was an invalid path
这里是服务代码:
export class PostService {
posts: AngularFireList<any>;
post: AngularFireObject<any>;
constructor(private db: AngularFireDatabase) {
}
insertPost(post) {
return this.db.list('/posts').push(post); ->works
}
deletePost(id): AngularFireObject<any> {
return this.db.object(`/posts/${id}`);
}
}
组件TS
delete(post) {
this.postService.deletePost(post)
}
HTML
div class="row">
<div class="col">
<ul class="list-group" *ngFor="let p of post$">
<li class="list-group-item">
{{ p.title }}
</li>
<li class="list-group-item" (click)="delete(p)">
{{ p.body }}
</li>
</ul>
</div>
我已经尝试了数百种不同的方法,看到了教程(甚至更加困惑),却一无所获。有人可以解释一下这是怎么回事吗?谢谢
您似乎正在将p
的含义从post
更改为id
。假设每个post
具有id
属性,则可能需要:
delete(post) {
this.postService.deletePost(post.id)
}