如何修正可观察到的角度误差



我想删除登录的当前用户,这就是我使用filter的原因。但是我得到一个错误,它是:

类型"Subscription"在类型"Observable[]"中缺少以下属性:_isScalar、source、operator、lift和6个其他属性。

这是代码:

@Select(UserPageState.get('collection')) users$: Observable<Array<Partial<User>>>;
async ngOnInit() {
const USER = this.creds.credentials['id'];
this.users$.subscribe(param => param.filter(x => x.id !== USER));
await this.store.dispatch(new UserPageList({ start: 1, length: this.pageSize })).toPromise();
}

HTML

<ag-grid-angular
style="width: 100%; height: 100%;"
[class]="(darkMode$ | async) ? 'ag-theme-balham-dark' : 'ag-theme-balham'"
[gridOptions]="gridOptions"
[rowData]="users$ | async"
[columnDefs]="columnDefs"
[frameworkComponents]="frameworkComponents"
(gridReady)="onGridReady($event)"
(firstDataRendered)="onFirstDataRendered($event)"
>
</ag-grid-angular>

问题在下面的语句中,订阅一个observable返回一个Subscription实例,您将再次将其分配给observable。

this.users$ = this.users$.subscribe(param => param.filter(x => x.id !== USER));

只是不要再把它分配给observable,它会解决问题的。

this.users$.subscribe(param => param.filter(x => x.id !== USER));

最新更新