我有一个应用程序,在该应用程序的一页上将调用getBookBySearchText并将页面列表设置为局部变量。设置本地变量后,Anothr页面将调用getBookById。但是,当我打印上一页检索到的所有书时,我得到的是空值。我已经在应用模块上注册了该服务,但不确定为什么它不起作用。
@Injectable()
export class DataService {
baseUrl: string = 'http://localhost:50956/api';
private books:IBook[];
constructor(private http: HttpClient) {
}
getBookBySearchText(searchText:string) : Observable<IBook[]> {
return this.http.get<IBook[]>(this.baseUrl+'/books?searchText='+"Title")
.pipe(
tap(data => console.log(JSON.stringify(data))),
tap(data => this.books = data),
catchError(this.handleError)
);
}
getBookById(id:string) : Observable<IBook> {
console.log(this.books) /*Getting undefined ehere*/
}
}