【发布时间】: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