Задать вопрос
@babagay

Как изменить URL без перезагрузки в Ангулар 6?

Изменить роут (url) на /?userId=123 или /userId/123 так, чтобы страница не перегружалась - как это сделать штатными стредствами angular или с помощью хаков?
  • Вопрос задан
  • 1244 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    WEB-022 Разработка на Angular. Продвинутый уровень
    1 неделя
    Далее
  • Учебный центр IBS
    WEB-007 Разработка на JavaScript
    1 неделя
    Далее
  • Javascript.ru
    Курс по Angular
    6 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
@mrhat24
Нужно добавить в app.module.ts RouterModule, как здесь, и можно в шаблоне добавлять ссылки:
<a routerLink="/"
   [queryParams]="{ userId: '123' }">
  Users
</a>

или
<a routerLink="/userId/123"
   queryParamsHandling="merge">
  Users
</a>

или
в компоненте
import {Router} from "@angular/router";
@Component()
export class AppComponent implements OnInit {
   constructor(
        private router: Router
    ){}
    ngOnInit() {
        this.router.navigateByUrl("/userId/123");
        // или
        this.router.navigateByUrl({queryParams: {userId: 123}});
    }
}

Не уверен в работоспособности последнего, писал на одном дыхании, но судя по документации должно работать.
Вот документация: https://angular.io/guide/router
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы