TypeScript kļūdu labošana kājenes leņķiskajā dinamiskajā navigācijā

TypeScript kļūdu labošana kājenes leņķiskajā dinamiskajā navigācijā
TypeScript kļūdu labošana kājenes leņķiskajā dinamiskajā navigācijā

Dinamiskās kājenes navigācijas izveide leņķiskā režīmā

Turpinot savu leņķisko braucienu, jūs neizbēgami saskarsities ar izaicinājumiem, īpaši, mēģinot izveidot dinamiskas funkcijas, piemēram, navigāciju. Viena no šādām funkcijām ir dinamiskas kājenes navigācijas izveide, kas atspoguļo jūsu lietotnes galveno navigācijas joslu. Tas bieži ir nepieciešams, ja vēlaties ātri izveidot saiti uz svarīgākajām vietnes lapām, bet smalkākā, neuzkrītošākā veidā, kas parasti tiek ievietota lapas apakšā. 💡

Tomēr, ieviešot šo funkciju, izstrādātājiem var rasties problēmas ar TypeScript tipa kļūdām. Tas var radīt vilšanos, jo īpaši tiem, kuri joprojām apgūst leņķisko valodu. Šajā rakstā mēs izpētīsim konkrētu kļūdu, kas bieži rodas, veidojot dinamiskās navigācijas sistēmas, un kā to novērst. Tas viss ir saistīts ar TypeScript tipa pārbaudes mehānismu, kas nodrošina, ka galvenie navigācijas un dinamiskās kājenes navigācijas veidi atbilst, kā paredzēts. 🚀

Kļūda, ar kuru jūs varētu saskarties, ir saistīta ar neatbilstošiem veidiem starp rekvizītu "title" maršruta konfigurācijā un paredzamo veidu jūsu komponentā. Galvenā problēma šeit ir tāda, ka TypeScript nevar atrisināt "title" veidu kā virkni, jo tas var būt arī veids, funkcija vai cita struktūra, radot konfliktu. Neuztraucieties — tas ir izplatīts klupšanas akmens, un to novērst ir vieglāk, nekā jūs varētu domāt!

Nākamajā sadaļā mēs sīkāk iedziļināsimies konkrētajā TypeScript kļūdā (TS2322), ar kuru jūs saskaraties, pārskatīsim jūsu Angular komponenta kodu un sniegsim norādījumus, kā soli pa solim atrisināt šo problēmu. Nedaudz izprotot, kā darbojas TypeScript un kā Angular apstrādā maršrutēšanu, jūs varēsit pārvarēt šo šķērsli un izveidot dinamisku navigācijas sistēmu, kas nevainojami darbojas visā jūsu lietotnē. 😊

Komanda Lietošanas piemērs
@Component @Component dekorators tiek izmantots, lai definētu leņķisko komponentu. Tas norāda metadatus par komponentu, piemēram, tā atlasītāju, veidni un stilu. Šajā gadījumā to izmanto, lai izveidotu kājenes navigācijas joslas komponentu “footer-nav”.
RouterModule RouterModule ir Angular modulis, kas nodrošina navigāciju starp skatiem. Tas ir nepieciešams maršrutēšanas līdzekļiem, piemēram, "routerLink", "routerLinkActive" un slinkai komponentu ielādei lietojumprogrammā Angular.
this.router.config Šis ir masīvs, kurā ir visa lietojumprogrammas maršruta konfigurācija. Izmantojot šo īpašumu, varat piekļūt definētajiem maršrutiem un filtrēt tos dinamiskās navigācijas komponentiem, piemēram, kājenes navigācijai.
filter() Filtra metode tiek izmantota, lai izveidotu jaunu masīvu ar visiem elementiem, kas iztur testu, ko īsteno nodrošinātā atzvanīšanas funkcija. Šajā gadījumā tiek filtrēti maršruti, kuriem nav ceļa, nosaukuma vai datu, nodrošinot, ka dinamiskajā navigācijā tiek iekļauti tikai derīgi maršruti.
map() Kartes metode izveido jaunu masīvu, kas aizpildīts ar nodrošinātās funkcijas izsaukšanas rezultātiem katrā masīva elementā. To izmanto, lai pārveidotu katru maršrutu par objektu, kas satur tikai ceļu un nosaukumu, kas nepieciešams dinamiskās navigācijas attēlošanai.
typeof Operatoru typeof izmanto, lai pārbaudītu vērtības datu tipu. Šeit to izmanto, lai pārbaudītu, vai maršruta nosaukums ir virkne, pirms to piešķir nosaukuma rekvizītam dinamiskajā navigācijā, nodrošinot pareizu tipa piešķiršanu.
isString() (Type Guard) isString ir pielāgota tipa aizsargfunkcija. Tipa aizsargi programmā TypeScript tiek izmantoti, lai sašaurinātu veidus. Šajā gadījumā to izmanto, lai droši pārbaudītu, vai virsraksts ir virkne, pirms mēģināt to piešķirt dinamiskās navigācijas nosaukuma rekvizītam.
! (Non-null Assertion Operator) Nenull apgalvojuma operators (!), kas tiek izmantots aiz ceļa un virsraksta rekvizītiem, norāda TypeScript, ka šie rekvizīti izpildlaikā nekad nebūs nulles vai nedefinēti, pat ja tie var tikt ierakstīti kā nullējami. Tas palīdz izvairīties no TypeScript kļūdām, piekļūstot maršruta rekvizītiem.
expect() (Jasmine/Unit Test) Paredzamā funkcija tiek izmantota vienību pārbaudēs, lai apstiprinātu, ka vērtība atbilst noteiktiem nosacījumiem. Šajā gadījumā to izmanto, lai pārbaudītu, vai komponents ir izveidots veiksmīgi un vai dinamiskie navigācijas maršruti ir pareizi filtrēti.

TypeScript kļūdu un risinājumu izpēte leņķiskajā dinamiskajā navigācijā

Programmā Angular maršrutēšana ir galvenā funkcija, kas ļauj lietojumprogrammā izveidot dinamisku navigāciju. Šajā scenārijā problēma rodas, mēģinot izveidot dinamisku kājenes navigāciju, kas atspoguļo galveno navigāciju. Kļūda rodas, ja tiek konstatēta TypeScript tipa neatbilstība maršrutu rekvizītam "title". Kļūdas ziņojums norāda, ka paredzētais tips ir virkne, taču TypeScript atklāja, ka rekvizīts "title" varētu būt arī tips>>` vai `ResolveFn`. Šī neatbilstība rodas, jo lietojumprogramma var izmantot maršruta atrisinātājus vai citus dinamiskus datu avotus, padarot maršruta nosaukumu par sarežģītāku veidu, nevis statisku virkni. Lai to atrisinātu, mums ir jāpārliecinās, vai maršruta nosaukumam ir pareizi piešķirts virknes veids, kas atbildīs definētajam tipam failā Footer-nav.component.ts.

`@KomponentsDecorator tiek izmantots Angular, lai definētu komponenta metadatus. Šajā gadījumā tas deklarē komponentu "footer-nav", kas apstrādā dinamiskās kājenes navigācijas renderēšanu. Komponentam ir svarīgi rekvizīti, piemēram, templateUrl un styleUrls, kas attiecīgi norāda uz komponenta HTML un CSS failiem. Injicējot pakalpojumu `Router` komponentu konstruktorā, mēs iegūstam piekļuvi maršruta konfigurācijai un varam dinamiski aizpildīt navigācijas saites. Komponenta masīvā "maršruti" ir ietverti nepieciešamie dati kājenes navigācijas izveidei, un katrs maršruts satur "ceļu" un "nosaukumu", kas jāparāda lietotāja saskarnē.

Skriptā mēs izmantojam “this.router.config”, lai piekļūtu maršruta konfigurācijām no galvenās lietotnes. Metode “filtrs()” tiek izmantota, lai atlasītu tikai tos maršrutus, kas ir derīgi, t.i., tos, kuriem ir “ceļš” un “nosaukums”. Funkcija "map()" tiek izmantota, lai pārveidotu filtrētos maršrutus jaunā formātā, pārliecinoties, ka katrā maršruta objektā ir nepieciešamie "ceļš" un "nosaukums" rekvizīti. Svarīgi ir tas, ka apgalvojumu, kas nav nulles (piemēram, maršruts.ceļš!), izmantošana ir paredzēta, lai TypeScript zinātu, ka ceļa un virsraksta rekvizītiem vienmēr būs vērtības, pat ja tie var būt atzīmēti kā potenciāli "undefined" vai "null". . Tomēr, izmantojot šo operatoru, jāievēro piesardzība, jo tas ignorē TypeScript tipa drošības pārbaudes.

Lai gan dinamiskā navigācijas pieeja ir labs veids, kā ģenerēt atkārtoti lietojamus komponentus kājenei, viens no būtiskiem aspektiem ir nodrošināt, lai maršruta konfigurācija būtu piemērota tipam. Kļūda rodas, jo TypeScript paredz, ka maršruta nosaukums ir vienkārša virkne, taču tas var būt arī sarežģīts veids (piemēram, funkcija "Atrisināt" vai "Tips"). Lai to atrisinātu, varat modificēt filtrēšanas loģiku vai pievienot tipa aizsargus, lai nodrošinātu, ka dinamiskajai navigācijai tiek piešķirti tikai derīgi nosaukumi. Galu galā tas novedīs pie tipam drošas, dinamiski ģenerētas navigācijas izvēlnes, kas darbojas tāpat kā jūsu galvenā navigācija, bet atrodas kājenē. Šī pieeja palīdz saglabāt lietojumprogrammu modulāru un tīru, un tā būs vērtīgs papildinājums jūsu Angular izstrādes rīku komplektam! 😊

TypeScript tipa neatbilstības novēršana kājenes leņķiskajā dinamiskajā navigācijā

TypeScript, leņķiskā, dinamiskā navigācija

import { Component, inject } from '@angular/core';
import { RouterModule, Router, NavigationEnd } from '@angular/router';
@Component({
  selector: 'footer-nav',
  standalone: true,
  imports: [RouterModule],
  templateUrl: './footer-nav.component.html',
  styleUrl: './footer-nav.component.scss'
})
export class FooterNavComponent {
  routes: { path: string; title: string; }[] = [];
  constructor(private router: Router) {
    this.routes = this.router.config.filter(route => route.path !== '' && route.data && route.title)
      .map(route => ({ path: route.path!, title: route.title as string! }));
  }
}

Alternatīva pieeja: TypeScript kļūdu apstrāde dinamiskai navigācijai ar sarežģītiem maršrutiem

TypeScript, Angular, kļūdu apstrāde, dinamiskā navigācija

import { Component, inject } from '@angular/core';
import { RouterModule, Router, NavigationEnd } from '@angular/router';
@Component({
  selector: 'footer-nav',
  standalone: true,
  imports: [RouterModule],
  templateUrl: './footer-nav.component.html',
  styleUrl: './footer-nav.component.scss'
})
export class FooterNavComponent {
  routes: { path: string; title: string; }[] = [];
  constructor(private router: Router) {
    this.routes = this.router.config.filter(route => route.path !== '' && route.data && route.title)
      .map(route => ({ path: route.path!, title: typeof route.title === 'string' ? route.title : 'Default Title' }));
  }
}

Tipa aizsargu izmantošana, lai novērstu TypeScript tipa kļūdas dinamiskajā navigācijā

TypeScript, Angular, Type Guards, Navigation

import { Component, inject } from '@angular/core';
import { RouterModule, Router, NavigationEnd } from '@angular/router';
function isString(value: string | Type<Resolve<string>> | ResolveFn<string>): value is string {
  return typeof value === 'string';
}
@Component({
  selector: 'footer-nav',
  standalone: true,
  imports: [RouterModule],
  templateUrl: './footer-nav.component.html',
  styleUrl: './footer-nav.component.scss'
})
export class FooterNavComponent {
  routes: { path: string; title: string; }[] = [];
  constructor(private router: Router) {
    this.routes = this.router.config.filter(route => route.path !== '' && route.data && route.title)
      .map(route => ({ path: route.path!, title: isString(route.title) ? route.title : 'Fallback Title' }));
  }
}

Leņķiskās dinamiskās navigācijas komponentes vienības testa piemērs

Angular, vienību pārbaude, Jest, Jasmine

import { ComponentFixture, TestBed } from '@angular/core/testing';
import { RouterModule, Router } from '@angular/router';
import { FooterNavComponent } from './footer-nav.component';
describe('FooterNavComponent', () => {
  let component: FooterNavComponent;
  let fixture: ComponentFixture<FooterNavComponent>;
  beforeEach(async () => {
    await TestBed.configureTestingModule({
      imports: [RouterModule],
      declarations: [FooterNavComponent]
    }).compileComponents();
  });
  beforeEach(() => {
    fixture = TestBed.createComponent(FooterNavComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });
  it('should create the component', () => {
    expect(component).toBeTruthy();
  });
  it('should filter routes correctly', () => {
    const filteredRoutes = component.routes;
    expect(filteredRoutes.length).toBeGreaterThan(0);
  });
});

Tabula: Leņķiskās dinamiskās navigācijas risinājumā izmantoto specifisko komandu skaidrojums

Izpratne par dinamisko navigāciju un TypeScript kļūdu labojumiem leņķī

Programmā Angular dinamiskas navigācijas sistēmas izveide var būt lielisks veids, kā uzlabot lietotāja pieredzi, it īpaši, ja vēlaties replicēt vai dublēt noteiktus navigācijas elementus dažādās lietojumprogrammas daļās. Izplatīts piemērs ir dinamiskas navigācijas joslas izveide kājenē, līdzīga tai, kas atrodas galvenē. Kļūda TS2322, kas radusies TypeScript tipa neatbilstības dēļ, kur ir paredzēts, ka maršrutu "nosaukums" ir vienkārša virkne, taču tā var būt arī sarežģītāka, jo tiek izmantoti atrisinātāji vai dinamiskas datu ieneses metodes. piemēram, "Atrisināt" vai "AtrisinātFn". Šīs uzlabotās funkcijas ļauj maršrutiem izgūt datus pirms navigācijas, taču var rasties problēmas, ja TypeScript nevar izsecināt pareizo veidu maršruta rekvizītiem, piemēram, "title".

Lai atrisinātu problēmu, jums ir jāpielāgo kods, lai pareizi apstrādātu sarežģītos veidus. Viena pieeja ir mainīt maršruta konfigurācijas, lai nodrošinātu, ka katra maršruta rekvizīts "title" ir skaidri definēts kā virkne. To var izdarīt, izmantojot tipa apgalvojumus vai tipa aizsargus, lai pārbaudītu, vai nosaukums ir virkne, pirms piešķirat to masīvam "maršruti" jūsu komponentā. Turklāt, ja jūsu maršrutos tiek izmantoti atrisinātāji, lai iegūtu dinamiskus nosaukumus, pārliecinieties, vai dati ir iegūti un iestatīti pareizi, pirms navigācijas komponents mēģina piekļūt nosaukumam. Tas garantēs, ka TypeScript tipa sistēma var pareizi apstiprināt maršruta rekvizītus.

Vēl viens svarīgs aspekts ir nodrošināt, lai jūsu Angular modulī būtu pareizi konfigurēti pakalpojumi "RouterModule" un "Router". Šie pakalpojumi nodrošina funkcionalitāti, kas nepieciešama, lai dinamiski filtrētu un kartētu maršruta konfigurāciju kājenes navigācijai. Injicējot pakalpojumu "Router" sava komponenta konstruktorā un piekļūstot "this.router.config", varat filtrēt pieejamos maršrutus un izveidot jaunu maršrutu masīvu, kas īpaši paredzēts kājenei. Tas nodrošina, ka kājenes navigācija tiek dinamiski veidota no tās pašas maršruta konfigurācijas kā galvenā navigācija, padarot jūsu lietotni modulāru un viegli uzturējamu.

Bieži uzdotie jautājumi par dinamisko navigāciju un TypeScript kļūdām leņķī

  1. Kā novērst kļūdu TS2322 saistībā ar maršruta nosaukumu programmā Angular?
  2. Kļūda rodas, jo TypeScript paredz, ka maršruta nosaukums ir virkne, taču tas var būt arī sarežģītāks veids, piemēram, Atrisināt. Lai to labotu, varat vai nu izmantot tipa apstiprinājumu, lai nodrošinātu, ka nosaukums tiek uzskatīts par virkni, vai atjaunināt maršruta konfigurāciju, lai pārliecinātos, ka nosaukums "title" vienmēr ir virkne, kad tai piekļūst jūsu komponentā. Example: `nosaukums: route.title kā virkne`.
  3. Kāds ir labākais veids, kā dinamiski ģenerēt kājenes navigāciju programmā Angular?
  4. Varat dinamiski ģenerēt kājenes navigāciju, izmantojot Angular's `RouterModule` un `Router` pakalpojumi. Vispirms savā komponentā jāievada maršrutētājs, jāpiekļūst šim.router.config, jāfiltrē un jākartē maršruti un pēc tam tie jāparāda, izmantojot veidnē “*ngFor”.
  5. Kā nodrošināt dinamiskās navigācijas darbību slinkos maršrutos?
  6. Slinki ielādēti maršruti nav uzreiz pieejami maršruta konfigurācijā. Lai nodrošinātu, ka tie tiek iekļauti dinamiskajā navigācijā, vispirms ir jānodrošina, lai maršruti būtu pareizi definēti ar `loadChildren` vai `loadComponent' maršrutēšanas modulī. Pēc tam izmantojiet pakalpojumu "Maršrutētājs", lai piekļūtu dinamiski ielādētajiem maršrutiem un iekļautu tos kājenes navigācijā.
  7. Vai varu izmantot maršruta atrisinātājus, lai ielādētu datus navigācijas virsrakstiem?
  8. Jā, maršruta atrisinātāji ir ideāli piemēroti datu ielādei pirms navigācijas. Varat izmantot atrisinātāju, lai izgūtu dinamiskus nosaukumus saviem maršrutiem, taču pirms mēģināt kartēt maršrutus ar savu dinamiskās navigācijas komponentu, pārliecinieties, vai nosaukums ir pieejams. Kad piekļūstat nosaukumam, tam ir jābūt virknei.
  9. Kāda ir `map()` loma maršruta datu filtrēšanā un modificēšanā?
  10. `map()Funkciju ` izmanto, lai pārveidotu datus no maršruta konfigurācijas. Tas ļauj izvēlēties un pārveidot konkrētus rekvizītus (piemēram, "ceļš" un "nosaukums") no maršruta objekta un izveidot jaunu vienkāršotu maršruta objektu masīvu izmantošanai komponentā. Tas padara datus vieglāk pārvaldāmus un nodrošina, ka kājenes navigācijai tiek nosūtīti tikai atbilstošie dati.
  11. Vai TypeScript stingrais režīms var radīt problēmas dinamiskajā navigācijā?
  12. Jā, TypeScript stingrais režīms ir paredzēts, lai agrīni uztvertu veidu neatbilstības un kļūdas. Tas var būt noderīgi, taču tas arī nozīmē, ka jums ir skaidri jārunā par saviem veidiem. Ja izmantojat sarežģītus veidus, piemēram, “Resolve” vai “ResolveFn”, pārliecinieties, vai tos apstrādājat pareizi, vai nu pēc tipa apstiprinājuma vai tipa aizsargiem, lai izvairītos no kļūdām navigācijas loģikā.
  13. Kā Angular `routerLinkActive` darbojas dinamiskajā navigācijā?
  14. RouterLinkActive ir direktīva, ko izmanto, lai pievienotu CSS klasi aktīvajai saitei navigācijā. Dinamiskajā kājenes navigācijā tas palīdz izcelt pašlaik aktīvo maršrutu. Varat iestatīt to uz “aktīvu”, lai veidotu saiti stilu, kad maršruts ir aktīvs, sniedzot lietotājam vizuālu norādi par to, kuru vietnes sadaļu viņš pašlaik skatās.
  15. Kāpēc mana dinamiskā navigācija netiek atjaunināta, kad es navigēju?
  16. Ja dinamiskā navigācija netiek atjaunināta, tas var būt tāpēc, ka komponents nenosaka izmaiņas. Lai to novērstu, pārliecinieties, ka navigācijas komponents klausās maršrutētāja notikumus un attiecīgi atjaunina maršrutu sarakstu. Varat izmantot Angular's `Router.events`, lai abonētu maršruta izmaiņas un dinamiski atjauninātu aktīvo maršrutu sarakstu.
  17. Vai es varu lietot vienu un to pašu dinamisko maršrutēšanas loģiku gan galvenei, gan kājenei?
  18. Jā, dinamiskās navigācijas izveides loģika darbojas gan galvenē, gan kājenē. Varat atkārtoti izmantot maršruta filtrēšanas un kartēšanas kodu abos komponentos, ja vien tie abi piekļūst vienai un tai pašai maršruta konfigurācijai un dinamiski ģenerē saites.

Strādājot ar dinamisko navigāciju programmā Angular, izstrādātāji bieži saskaras ar kļūdām, piemēram, TS2322, jo maršruta konfigurācijās nav sakritības starp paredzamajiem un faktiskajiem veidiem. Šajā rakstā mēs apskatījām, kā risināt TypeScript problēmas, kas saistītas ar maršruts īpašības, jo īpaši virsraksts. Risinājums paredz nodrošināt konsekventu ierakstīšanu maršrutos neatkarīgi no tā, vai jums ir darīšana ar slinki ielādētiem moduļiem vai Atrisinātāji dinamiskam saturam. Mēs arī apspriedām paraugpraksi dinamiskas navigācijas izveidei kājenei, pamatojoties uz jūsu galvenā maršruta konfigurāciju.

Izpratne par TypeScript kļūdu labošanu dinamiskajā navigācijā

Angular elastība ļauj izstrādātājiem viegli iestatīt dinamisku navigāciju dažādiem komponentiem, tostarp kājenei. Tomēr, strādājot ar slinki ielādētiem maršrutiem un dinamisku saturu, TypeScript var radīt kļūdas, piemēram, TS2322 tipa neatbilstības dēļ. Visizplatītākā problēma ir saistīta ar maršruta konfigurācijām, kur var sagaidīt, ka maršruta nosaukums ir vienkāršs virkne, taču dažreiz tas var būt sarežģītāks Atrisinātāji vai asinhronās datu iegūšanas metodes. Galvenais, lai atrisinātu šo problēmu, ir nodrošināt konsekventu un pareizu ierakstīšanu maršrutos.

Viens no labākajiem risinājumiem ir atjaunināt maršruta konfigurāciju, lai nodrošinātu, ka katra maršruta nosaukums ir skaidri ierakstīts kā virkne. To var izdarīt, izmantojot tipa apgalvojumus vai vienkāršas pārbaudes maršruta kartēšanas loģikā. Ja virsraksta rekvizīts tiek dinamiski atrisināts, izmantojot Resolver, jums ir jānodrošina, ka dati ir pieejami un pareizi ievadīti, pirms tie tiek nodoti kājenes komponentam parādīšanai. To darot, TypeScript pareizi validēs datus, novēršot kļūdas, kad kājenes navigācijas komponents mēģina piekļūt maršruta nosaukumam.

Turklāt, lai uzlabotu lietojumprogrammas mērogojamību, jums vajadzētu apsvērt iespēju atkārtoti izmantot galveno navigācijas loģiku citās lietojumprogrammas daļās, piemēram, kājenē. To var viegli sasniegt, piekļūstot maršrutiem, kas definēti jūsu lietotnes maršrutēšanas modulī, filtrējot nepieciešamos datus un nosūtot tos kājenes navigācijai. Injicējot Maršrutētājs pakalpojumu un izmantojot Angular maršrutēšanas metodes, varat izveidot modulāru, dinamisku navigācijas sistēmu, kas konsekventi darbojas dažādās vietnes sadaļās.

Secinājums:

Noslēgumā jāsaka, ka ar dinamisko navigāciju saistīto TypeScript kļūdu novēršana programmā Angular ir saistīta ar pareizu maršruta veidu pārvaldību. Nodrošinot, ka rekvizīti tiek rakstīti konsekventi, izstrādātāji var izvairīties no izplatītām kļūmēm, piemēram, TS2322 kļūdas. Turklāt atkārtoti lietojamas dinamiskas navigācijas izveide var vienkāršot navigācijas pārvaldību dažādos jūsu lietojumprogrammas komponentos.

Ievērojot slinkas ielādes, maršruta datu ielādes un komponentu modularitātes paraugpraksi, varat izveidot efektīvu un bez kļūdām dinamiskas navigācijas sistēmu. Šo koncepciju ievērošana padarīs jūsu Angular lietojumprogrammas apkopējamākas, elastīgākas un lietotājam draudzīgākas. 🚀

Atsauces un avota materiāli
  1. Sniedz ieskatu, kā izprast TypeScript kļūdas un risinājumus dinamiskai navigācijai Angular. Lai iegūtu sīkāku informāciju, apmeklējiet Leņķiskā dokumentācija .
  2. Apspriež maršruta konfigurāciju un TypeScript tipa saderību, kas ir tieši saistīta ar kodā konstatēto kļūdu TS2322. Atsauce: TypeScript oficiālā dokumentācija .
  3. Izskaidro slinko ielādi programmā Angular un to, kā apstrādāt maršruta datus dinamiskai navigācijai. Papildu informāciju var atrast vietnē Angular Lazy Loading Guide .