如何将另一个值从“类”传递给“函数”
问题描述:
我是Angular的新手,我通过使用.map
函数(在类之外)调用WebService(REST)。我自动获得一个对象“响应”,这很好。但是现在,我怎样才能将一个在我的方法(和我的类)内的值发送到类之外的函数?该值与WebService响应无关。如何将另一个值从“类”传递给“函数”
@Injectable()
export class MyClass {
getEvents(myValue: string): Observable<CalendarEvent[]> {
this.http
.get("url of webservice")
.map(mapEvents) <- how can I put "myValue" here
.catch(handleError);
}
}
function mapEvents(response: Response): CalendarEvent[] {
return response.json().map(toEvent);
}
function toEvent(event: any): CalendarEvent {
const s_event = <CalendarEvent>(
{
value : myValue; <- to get "myValue" here?
});
return s_event;
}
答
@Injectable()
export class MyClass {
getEvents(myValue: string): Observable<CalendarEvent[]> {
this.http
.get("url of webservice")
.map(d => mapEvents(d, myValue)) <- put "myValue" here
.catch(handleError);
}
}
function mapEvents(response: Response, myValue): CalendarEvent[] {
return response.json().map(e => toEvent(e, myValue));
}
function toEvent(event: any, myValue): CalendarEvent {
const s_event = <CalendarEvent>(
{
value : myValue; <- to get "myValue" her !
});
return s_event;
}
你不能,这是不可那里。你必须明确地通过它,例如'.map(event => mapEvents(event,myValue))'。 – jonrsharpe
问题不明确 – Ced