【问题标题】:Angular HttpClient DeleteAngular HttpClient 删除
【发布时间】:2018-12-05 00:23:14
【问题描述】:

我尝试使用 HttpClient (Angular) 从我的数据库中删除数据,实际上我使用了包含删除方法的服务 (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 成员是正确的,但没有任何反应(控制台中没有错误)。 在此先感谢 ;)

【问题讨论】:

  • 如果您不订阅,则不会触发 http 调用。这就是为什么你什么都得不到。您的请求不会被解雇。如果您在检查器中打开网络,您甚至不会看到该请求启动。

标签: angular components httpclient


【解决方案1】:

component.ts 中,您必须在deleteMember 函数中使用subscribe,如下所示:

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

【讨论】:

  • 感谢执行 ;)
猜你喜欢
  • 1970-01-01
  • 2018-09-25
  • 1970-01-01
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多