• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Angular paramMap error

VPS Starter Arubacloud
+1 głos
207 wizyt
pytanie zadane 6 lutego 2023 w JavaScript przez TheDarkSide Użytkownik (930 p.)
zmienione kategorie 6 lutego 2023 przez Comandeer
Robię restcountries api : https://stackblitz.com/edit/angular-ivy-4cmvjv?file=README.md

To zrobiłam na stackblitz teraz robię w visualu. Mam problem z parammap.

Error: app/pages/country-details/country-details.component.ts:22:18 - error TS7052: Element implicitly has an 'any' type because type 'ParamMap' has no index signature. Did you mean to call 'get'?
22       let name = this.route.snapshot.paramMap['params']['name'];
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error TS7052: Element implicitly has an 'any' type because type 'ParamMap' has no index signature. Did you mean to call 'get'?

21     if (this.route.snapshot.paramMap['params']['name']) {
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Przejrzzałam cały kod po sto razy, wygląda tak samo (na 99% bo moe cos mi umknelo) więc skąd ten błąd ?

1 odpowiedź

0 głosów
odpowiedź 6 lutego 2023 przez alpha.netrunner Gaduła (4,690 p.)

Błąd wynika z faktu, że paramMap jest typu ParamMap, który nie posiada indeksu o nazwie params. Aby uzyskać wartość parametru, należy użyć metody get.

Takie podejście jest bezpieczniejsze, ponieważ unika potencjalnych błędów związanych z nieznanymi indeksami.

komentarz 6 lutego 2023 przez TheDarkSide Użytkownik (930 p.)
To czemu na stackblitz działa ? Bo nie ogarniam tego xD
2
komentarz 6 lutego 2023 przez Wiciorny Ekspert (269,120 p.)
edycja 6 lutego 2023 przez Wiciorny

@alpha.netrunner, generalnie to działa pewnie z racji bilbioteki która jest używna : 
https://github.com/angular/angular/pull/43529#issuecomment-926026010

I nie zwróciłeś uwagi, że on korzysta z interfejsu w ramach snapchot 
 

ActivatedRouteSnapshot który akurat posiada klucz

    /**
     *  The matrix parameters scoped to this route.
     *
     *  You can compute all params (or data) in the router state or to get params outside
     *  of an activated component by traversing the `RouterState` tree as in the following
     *  example:
     *  ```
     *  collectRouteParams(router: Router) {
     *    let params = {};
     *    let stack: ActivatedRouteSnapshot[] = [router.routerState.snapshot.root];
     *    while (stack.length > 0) {
     *      const route = stack.pop()!;
     *      params = {...params, ...route.params};
     *      stack.push(...route.children);
     *    }
     *    return params;
     *  }
     *  ```
     */ 
params: Params;

I nie kopiuj wszystkich pytań do "chatu GTP" bo bez kontekstu udzielasz błędnej odp. lub nie do końca odpowiedniej w ramach czyjegoś pytania 

Podobne pytania

+1 głos
1 odpowiedź 614 wizyt
pytanie zadane 3 marca 2022 w JavaScript przez Wokie Nowicjusz (170 p.)
+2 głosów
1 odpowiedź 380 wizyt
pytanie zadane 5 maja 2023 w JavaScript przez mm Użytkownik (890 p.)
+2 głosów
1 odpowiedź 226 wizyt
pytanie zadane 2 maja 2023 w JavaScript przez mm Użytkownik (890 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...