Изменить URL-адрес с помощью маршрутизатора Angular 2 RC6

Я создаю приложение списка, в котором можно выбирать элементы списка. За один раз можно выбрать только один элемент. Подробное представление элемента списка отображается под списком.

Теперь я хочу изменить URL-адрес в зависимости от того, какой элемент выбран, без перехода на другую страницу.

Является ли это возможным? Если да, то как?

Спасибо


person Alexander Ciesielski    schedule 05.09.2016    source источник
comment
Посмотрите мой ответ внизу: stackoverflow.com/questions/35618463/   -  person Luke Dupin    schedule 06.09.2016


Ответы (1)


Используйте для этого параметры маршрута

{ path: '', redirectTo, 'items', pathMatch: 'full' },
{ path: 'items', component: ItemList, children: [
  { path: '', component: DummyItem },
  { path: ':id/detail', component: ItemDetails }
]}
<a [routerLink]="itemId + '/detail'">Item {{itemId}}</a>
class ItemDetail {
  constructor(route:ActivatedRoute) {
    route.params.subscribe(params => this.id = params['id']);
  }
}

При навигации по роутеру, когда меняются только параметры маршрута, ничего не перезагружается.

person Günter Zöchbauer    schedule 06.09.2016
comment
Я использовал решение, представленное в следующем ответе, так как его было проще реализовать с тем, что у меня есть. В случае рефакторинга моего кода я буду использовать предложенный вами подход. Спасибо. stackoverflow.com/questions/35618463/ - person Alexander Ciesielski; 07.09.2016