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

Angular paramMap error

Object Storage Arubacloud
+1 głos
221 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 (270,190 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ź 637 wizyt
pytanie zadane 3 marca 2022 w JavaScript przez Wokie Nowicjusz (170 p.)
+2 głosów
1 odpowiedź 411 wizyt
pytanie zadane 5 maja 2023 w JavaScript przez mm Użytkownik (890 p.)
+2 głosów
1 odpowiedź 236 wizyt
pytanie zadane 2 maja 2023 w JavaScript przez mm Użytkownik (890 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...