同一事件使用angular2在两个页面中同时删除帖子

时间:2016-04-02 07:56:44

标签: firebase angular

我正在学习angular2并想知道如何同时在两个不同的页面中删除相同的帖子。

我有两个观点 1-家显示一些帖子 2-客户端个人资料页面,客户端查看他的所有帖子并有能力删除它们

remove(item){
  this.TaskService.deletepost("-KE7kC0dEcG1ph94TrAC", this.currentUserID).then(() => {
    let index = this.postByme.indexOf(item)
    this.postByme.splice(index, 1);
    console.log("deleteeeed")
  })
}

我使用它来删除用户个人资料页面中的帖子,使用firebase作为后端,帖子在用户个人资料页面中按预期删除,但在主页中我必须重新加载页面才能看到同一帖子已删除。

我如何建立一些警告家庭已删除此帖子的内容,并将其删除

1 个答案:

答案 0 :(得分:1)

您可以将observable或主题添加到包含delete方法的服务中。

deletionNotification: Subject = new Subject();

remove(item){
  this.TaskService.deletepost("-KE7kC0dEcG1ph94TrAC", this.currentUserID).then(() => {
    let index = this.postByme.indexOf(item)
    this.postByme.splice(index, 1);
    console.log("deleteeeed")
    deletionNotification.emit({
      id: 'KE7kC0dEcG1ph94TrAC',
      userId: this.currentUserID
    }); 
  })
}

希望收到通知的部分可以直接订阅。

this.service.deletionNotification.subscribe(
  (deletedItem) => {
    // Do something
  }
);