typescript - Hur gör man filtreringen i ett pipe hos en resolver i Angular?


I min routes.ts har jag { path: 'members', component: MemberListComponent, resolve: { users: MemberListResolver} },.

Jag har följande kodstycke i min komponent:

  users: User[];

  constructor(private route: ActivatedRoute, private authService: AuthService) { }

  ngOnInit() {
    this.route.data.subscribe((data) => {
      this.users = data.users.filter((u: User) => u.id !== +this.authService.decodedToken.nameid);
    });
  }

Jag gör filtret i subscribe-metoden, går det också att göra detta i en pipe, och i så fall hur skulle jag göra det?

Svar #1

Tack vare @JB Nizets kommentar löste jag det så här:

  ngOnInit() {
    this.route.data
      .pipe(map(data => data.users.filter((u: User) => u.id !== +this.authService.decodedToken.nameid)))
      .subscribe((data) => {
        this.users = data;
      });
  }