Угловой paramMap.getAll - уточнение?

1

Угловая 4 добавлена поддержка paramMap с методами get и getAll:

Я могу понять этот код, который дает значение "id"

route.paramMap.subscribe(
     params => this.productID = params.get('id')
     );

Но я не понимаю, как использовать getAll(?):

getAll(name: string): string[] Возвращает массив значений для данного имени параметра.

Я видел здесь пример, в котором говорится:

params:string[] = this.route.snapshot.paramMap.getAll();

этот интерфейс предлагает такие методы, как get() для получения определенного значения и getAll() для получения всех значений.

Я могу понять часть "получить все ценности". но я не понимаю "получить все значения BY NAME" - это getAll(name: string)

Вопрос:

Когда я буду использовать метод getAll(param)? Я имею в виду, что у меня/будет только уникальные имена параметров /s. Итак, как получилось, что getAll("id") может дать более одного значения?

Пример был бы очень признателен.

Теги:
angular

2 ответа

2
Лучший ответ

Вы можете использовать массив как параметр, поэтому, если вы перемещаетесь таким образом

this.router.navigate(['example', { foo: ['bar', 'baz'] } ]);

Вы можете использовать getAll() следующим образом:

getAll("foo")

Он вернет все значения параметров: ['bar', 'baz']

  • 0
    Интересно, как будет выглядеть example маршрута .... может ли он поддерживать объекты?
  • 0
    Он поддерживает массивы, ваш маршрут может быть определен следующим образом: example /: foo, где foo может быть всем, включая массив
Показать ещё 1 комментарий
2

Учитывая такую навигацию: this.router.navigate(['example', { foo: ['bar', 'baz'] } ]); getAll() вернет все значения. используйте его вот так: getAll("foo")

  • 0
    В приведенном им примере foo, вероятно, означает «foo».

Ещё вопросы

Сообщество Overcoder
Наверх
Меню