Angular HttpClient删除

时间:2018-12-04 16:20:04

标签: angular components httpclient

我尝试使用HttpClient(Angular)从数据库中删除数据,实际上我使用的是包含delete方法的服务(MemberService)。

有我的MemberService:

export class MemberService {

  constructor(private http: HttpClient) { }

  getMembers(): Observable<IMember[]> {
    return this.http.get<IMember[]>('http://localhost:50867/api/Member');
  }

  getMember(memberId) {
    return this.http.get('http://localhost:50867/api/Member/' + memberId);
  }

  deleteMember(memberId) {
    return this.http.delete('http://localhost:50867/api/Member/' + memberId);
  }
}

因此,当我单击component.html中的按钮以删除数据时。

有我的component.ts代码:

export class MemberDetailComponent implements OnInit {

  public member$: Object ;
  private id$: Object;

  constructor(private route: ActivatedRoute, private _memberService: MemberService) {
    this.route.params.subscribe( params => this.member$ = params.id );
  }

  ngOnInit() {
    this.id$ = this.member$;
    this._memberService.getMember(this.member$).subscribe(
      data => this.member$ = data);

  }

  deleteMember() {
    this._memberService.deleteMember(this.id$);
  }

}

有我的component.html:

<h1>{{ member$.username }}</h1>

<ul>
  <li><strong>wow:</strong> {{ member$.username }}</li>
  <li><strong>Email:</strong> {{ member$.emailUser }}</li>
  <li><strong>Phone:</strong> {{ member$.userPwd }}</li>
  <button (click)="deleteMember()">Delete</button>
</ul>

因此,当我启动我的应用程序并单击该按钮时,id成员是正确的,但没有任何反应(控制台中没有错误)。 在此先感谢;)

1 个答案:

答案 0 :(得分:1)

component.ts中,您必须像这样在subscribe函数中使用deleteMember

deleteMember() {
  this._memberService.deleteMember(this.id$).subscribe();
}