Подпишитесь на него, как на любой другой Observable
. Чтобы получить параметры из текущего URL, подпишитесь на paramMap
из ActivatedRoute
. Следующий компонент отправляет ваш HTTP-запрос при каждом изменении идентификатора роли.
Компонент:
import { ActivatedRoute } from '@angular/router';
export class AppComponent implements OnInit {
constructor(
private dashservice: DashService,
private _route: ActivatedRoute ) { }
}
ngOnInit() {
// get role ID from activated route
this.route.paramMap.subscribe(
(params: ParamMap) => { this.getchartdata(params.get('roleId')); }
);
}
// use roleId 'default' if no parameters are passed
private getchartdata(roleId = 'default') {
this.dashservice.getgraphdata(roleId).subscribe(
response => {
// handle response
},
error => {
// handle error
}
);
}
Кроме того, если вы не преобразуете свои данные в вызове HTTP, вы можете удалить .map
и вернуть ответ HTTP напрямую.
getgraphdata(defaultroleID): Observable<any> {
return this.apiService.get(WebServiceUrl.dashboard.getPiechartData + '/' + defaultroleID);
}