Angular 角度4-从表中删除当前行
我想通过单击删除链接从表中删除当前行 我使用下面的代码来显示数据 服务Angular 角度4-从表中删除当前行,angular,rxjs,state-management,Angular,Rxjs,State Management,我想通过单击删除链接从表中删除当前行 我使用下面的代码来显示数据 服务 getMembers(): Observable<any> { return this._http.get('http://localhost/membership/main/getUsers') .map(response => response.json() ); } members$: Observable<any[]>; ngOnInit() { this.members
getMembers(): Observable<any> {
return this._http.get('http://localhost/membership/main/getUsers')
.map(response => response.json() );
}
members$: Observable<any[]>;
ngOnInit() {
this.members$ = this._membersService.getMembers()
}
delete(id) {
this._membersService.deleteUser(id);
}
getMembers():可观察{
返回此。\u http.get('http://localhost/membership/main/getUsers')
.map(response=>response.json());
}
组件
getMembers(): Observable<any> {
return this._http.get('http://localhost/membership/main/getUsers')
.map(response => response.json() );
}
members$: Observable<any[]>;
ngOnInit() {
this.members$ = this._membersService.getMembers()
}
delete(id) {
this._membersService.deleteUser(id);
}
members$:可见;
恩戈尼尼特(){
this.members$=this.\u membersService.getMembers()
}
删除(id){
此.\u membersService.deleteUser(id);
}
html
<a (click)="delete(member?.id, i)">
我听说了拼接功能。但是我找不到一种方法如何在可观察中使用它。我想,你在这里有更大的问题 实际上,没有简单的方法可以从一个
可观察的数组中删除一行T
。我建议您选择常规路线:
members: any[];
ngOnInit(): void {
this._membersService
.getMembers()
.subscribe(members => this.members = members);
}
delete(memberIndex: number): void {
this.members.splice(memberIndex, 1);
}
<a (click)="delete(i)">
成员:任何[];
ngOnInit():void{
这是我们的会员服务
.getMembers()
.subscribe(members=>this.members=members);
}
删除(成员索引:编号):无效{
此.members.splice(memberIndex,1);
}
用于数据管理。但由于你的问题中没有提到这一点,我想,这是不可能的
否则,您也可以使用BehaviorSubject
,但我不建议您在当前设置中这样做。最好将BehaviorSubject
放在您的服务中,并将其公开为可观察的您需要订阅并且您获得了所有成员,您只需要一个成员就可以删除一个用户,所以希望您的deleteUser(id)方法能够正确地删除该用户。啊哈。。你的意思是我需要避免使用可观察的?我什么时候应该使用可观察的?嗯,你不应该回避可观察的。它们实际上是一件好事。问题是,它们是只读的,并且与您想要修改可观察对象的场景冲突。这太难了。所以,你基本上有三个选择:a)最简单的一个是在这个特殊情况下不使用它们;只需订阅并将结果存储在字段中;2) 更难,但在复杂的应用程序中更好——使用ngrx/store;3) 最后一个是使用Subject
,其行为类似于可观察,但也允许获取其当前值(此选项实际上是脏的)。抱歉。对于选项三,我应该说BehaviorSubject
,这很好,谢谢你,是的。在这种情况下,我不会使用observable