@babagay

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

Изменить роут (url) на /?userId=123 или /userId/123 так, чтобы страница не перегружалась - как это сделать штатными стредствами angular или с помощью хаков?
  • Вопрос задан
  • 1185 просмотров
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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