Получить параметры, переданные по URL-адресу в ionic 5

Я передал параметры в URL моему ионному приложению

http://localhost:8100/welcompage/overview?brand=bmw

Я использую ActivatedRoute для получения данных, переданных в качестве параметров в URL-адресе.

   constructor(private route: ActivatedRoute) {
    }

    ngOnInit() {
        this.route.params.subscribe(params => {
             console.info(params['brand']);
        });
    }

вывод всегда "не определен", хотя в URL-адресе есть параметры

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
2
0
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Первый метод:

  let brand = this.route.snapshot.paramMap.get('brand');

Второй метод:

this.route.paramMap.subscribe(

  (data) => {

    console.info(data.brand)

  }

);

method1 или method2 соответствуют вашим потребностям, если вы уже определили параметры бренда в своем маршруте url/:brand. но если вы используете параметры запроса url?brand=value1&property2=vaule2... Вы можете получить данные параметров запроса, используя метод3:

метод3:

this.route.queryParams
  .subscribe(params => {
    console.info(params); // { brand: "bmw" }
    let brand = params.brand;
    console.info(brand); // bmw
  }
);

все еще не определено

yacine 16.05.2022 12:53

ответ отредактирован. Вы можете использовать второй метод после импорта import {ActivatedRoute} из '@angular/router';

Zrelli Majdi 16.05.2022 12:58

Я думаю, что ваша проблема будет решена, когда вы примените метод3 ^^

Zrelli Majdi 16.05.2022 13:37

да, это работает, но какова разница между params и queryParams?

yacine 16.05.2022 13:42

параметры маршрутизатора должны быть определены в вашем угловом маршрутизаторе

Zrelli Majdi 16.05.2022 13:44

приветственная страница/обзор/:бренд

Zrelli Majdi 16.05.2022 13:45

но для параметров запроса вам нужно только и разделены '?' для первых параметров для следующих параметров вам нужно только добавить '&'

Zrelli Majdi 16.05.2022 13:46

пример: локальный: 8100/welcompage/… ....

Zrelli Majdi 16.05.2022 13:48

затем будет преобразован как объект, когда вы получите данные параметров запроса

Zrelli Majdi 16.05.2022 13:49

{бренд:bmw,свойство1:значение1,свойство2:значение2,свойство3:значение‌​3,свойство4:значение4}

Zrelli Majdi 16.05.2022 13:50

Другие вопросы по теме