下面是两段代码。我搜索了这样一个问题,但我还没有找到。 所以我不明白为什么在我的第一段代码中我的函数找到了我的参数,在这个例子中是 filterId ,而不是在第二段。
我想这可能是因为filterValue就像一个var声明What is the difference between var and let in Typescript?,而不是块作用域,因为let。这个想法好吗?
这是有效的:
getServiceAreasFiltered (page: number, filterValue: string): Observable { const filterId = filterValue; this._http.post(resource, content).pipe( flatMap(area => area.results), filter((area: ServiceAreaListItem) => area.guid === filterId), ).subscribe(x => x); }
这不起作用:
getServiceAreasFiltered (page: number, filterValue?: string): Observable { this._http.post(resource, content).pipe( flatMap(area => area.results), filter((area: ServiceAreaListItem) => area.guid === filterValue), ).subscribe(x => x); }