Использовать маршрутизацию от угловых компонентов в гибридном режиме - PullRequest
0 голосов
/ 21 июня 2019

Я использую AngularJS 1.5 и Angular 7 в гибридном режиме.Как я могу изменить URL в угловом компоненте?Я попытался получить доступ к текущему URL следующим образом:

constructor(private router: Router, private route: ActivatedRoute) {
    console.log(this.route.snapshot.queryParams);

}

Параметры запроса всегда пусты.В родительском компоненте AngularJS я получаю параметры запроса, используя сервис $location.Если я пытаюсь изменить маршрут с помощью маршрутизатора, он говорит неверный маршрут.Как я могу изменить текущий URL в угловом компоненте?В настоящее время я генерирую событие, которое, в свою очередь, захватывается родительским компонентом AngularJS, который может использовать сервис $location.

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Мне удалось сделать это путем обновления службы определения местоположения AngularJS $:

@Injectable()
export class LocationService {

    search(queryParameter?: string, value?: string): string | any {
        return undefined;
    }
}

В AppModule сделайте следующее

{provide: LocationService, useFactory: (i: any) => i.get('$location'), deps: ['$injector']},
0 голосов
/ 21 июня 2019

Используйте следующий способ для получения параметров запроса:

constructor(private router: Router, private route: ActivatedRoute) {
    this.route.queryParams.subscribe(params => {
     console.log(params);
   });
}

для перехода на другой URL-адрес (как вы указали, т. Е. Для изменения URL-адреса), а затем используйте:

this.router.navigate(['/someurl']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...