我有2个分区,例如左右分区,这些分区的服务器端网址除了分区名称之外是相同的,例如:
'/api/Left/DoThisThing';
或
'/api/Right/DoThisThing';
我在HttpService
(简化)中有这个:
@Injectable()
export class MyHttpService {
constructor(private http: Http) { }
private baseUrl = '/api/';
private selectedDivision: Divisions = Divisions.Left;
getAll(): Observable<Test[]> {
return this.http.get(this.baseUrl + Divisions[this.selectedDivision])
.map((response: Response) => response.json())
.catch((error: any) => Observable.throw(error.json().error || 'An unknown server error occurred while trying to get all.'));
}
selectDivision(division: Divisions) { this.selectedDivision = division; }
}
当然,问题是在我点击强制订阅selectDivision(Divisions.Right)
的子组件重新加载的导航链接之前,调用getAll()
什么都不做。
我更喜欢这样做的方式是通知getAll()
的所有订阅者重试该端点...或者可能导致get
请求重新使用新更新的URL。我该怎么做?如果有更好的方法可以做到这一点?