В основном у меня есть два компонента TodosComponent
и TodoDetailsComponent
.Нажав на элемент в TodosComponent
, вы попадете в TodoDetailsComponent
, где я получу параметр и получу необходимые данные из API.Все работает отлично.
Но я хочу сделать следующую кнопку на моем TodoDetailsComponent
, чтобы идентификатор, передаваемый параметру, изменился, и я получил желаемый результат на основе параметра, подписанного на параметры activRoute.Я много гуглю (d) и stackoverflow (ed), но не могу найти пример, который дает мне направление для продолжения. Здесь - рабочая демонстрация проблемы.Дайте мне знать, если потребуется дополнительная информация.Любая информация будет полезна, независимо от того, возможно ли это.
TodoDetails.component.ts
@Component({
template: `<p>Todo Details Component</p>
<div>{{ todo | json }}</div>
<button type="button" (click)="next()">Next</button>
`
})
export class TodoDetailsComponent implements OnInit{
todo;
constructor(private activatedRoute: ActivatedRoute, private service: Service) { }
ngOnInit() {
this.activatedRoute.paramMap.pipe(
switchMap(params => this.getTodo(+params.get('id')))
).subscribe(todo => this.todo = todo);
}
getTodo(id) {
return this.service.getTodo(id);
}
next() {
// if i grab the id over here and increament
// by id++ the id increses but as can be seen
// parameter is still the same, so won't work
}