错误:Reference.child失败:第一个参数是无效路径

问题描述 投票:0回答:1

我有一个带有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>

我已经尝试了数百种不同的方法,看到了教程(甚至更加困惑),却一无所获。有人可以解释一下这是怎么回事吗?谢谢

javascript angular firebase firebase-realtime-database angularfire
1个回答
0
投票

您似乎正在将p的含义从post更改为id。假设每个post具有id属性,则可能需要:

delete(post) {
  this.postService.deletePost(post.id)
}
© www.soinside.com 2019 - 2024. All rights reserved.