Angular 2删除一个对象

时间:2016-08-30 17:10:13

标签: angular

我使用以下方法使用API​​调用删除注释:

deleteComment(comment) {
      //My attack
        let body = JSON.stringify({
                commentID: comment.id
        });

        comment = null;

    this.http.request('deleteComment',
    { body:body, method:'POST' })
      .map((res:Response) => res.json())
      .subscribe(
        data => {
            console.log("COMMENT DELETED");
        },
        error => {
          console.log(error.text());
        }
      );
  }

虽然我将评论设置为null,但我仍会在评论列表中看到评论。是否可以从页面中删除它而不进行另一个API调用来刷新注释?

2 个答案:

答案 0 :(得分:1)

您只需将本地变量设置为null即可。 deleteComment()完成后效果无效。

也许你的意思是

this.comments.splice(this.comments.indexOf(comment), 1); 

但目前还不清楚“我的评论列表”是什么意思

答案 1 :(得分:0)

我会尝试在成功删除评论后过滤掉空白评论。没有经过测试,但看起来像是:

this.http.request('deleteComment',
{ body:body, method:'POST' })
  .map((res:Response) => res.json())
  .subscribe(
    data => {
        this.comments.filter(c => c !== null)
        console.log("COMMENT DELETED");
    },

假设您要在注释部分中保留一系列注释以进行迭代。