Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 11475|Svar: 0

[Kantet] Angular 4.x Router Link-kommandoen

[Kopier link]
Opslået på 25/10/2018 15.52.29 | | |
Introduktion til RouterLink-kommandoer

RouterLink-kommandoen giver dig mulighed for at linke til en specifik del af din applikation. Hvis linket er statisk, kan vi bruge kommandoen på følgende måde:


Hvis du skal generere linkadresser med dynamiske værdier, kan du sende et array af stisegmenter og derefter parametrene for hvert segment. For eksempel betyder brugen af et array af ['/team', teamId, 'user', userName, {details: true}], at vi ønsker at generere et link til /team/11/user/bob; details=true 。

Flere statiske segmenter kan slås sammen til ét, f.eks. ['/team/11/user', brugernavn, {detaljer: true}].

Det første stifragment kan defineres som /, ./, eller . / Begyndelse:

  • Hvis den starter med /, vil ruten begynde at kigge op fra rodruten
  • Hvis den starter med ./ eller ikke bruges, vil ruten begynde at kigge op fra den underliggende rute, der aktuelt er aktiv for ruten
  • Hvis du starter med : / begynder, ruten går til næste niveau af opslag


Du kan sætte forespørgselsparametre og fragmenter på følgende måder:


RouterLink-kommandoen vil generere følgende link baseret på inputparametrene sat ovenfor: /user/bob#education?debug=true. Derudover kan vi erklære, hvordan forespørgselsparametre håndteres, via queryParamsHandling-egenskaben; de tilgængelige muligheder er:

  • merge - Sammenlæg eksisterende queryParams med de nuværende queryParams
  • preserve - Gem de aktuelle queryParams
  • default ('') - Brug kun forespørgselsparametre


Specifikke eksempler på anvendelse er som følger:


RouterLink-kommandoen forklaret i detaljer

RouterLink-kommando definition

RouterLink kommandoinput-egenskab

Indstil forespørgselsparametrene relateret til URL'en
@Input() queryParams: {[k: string]: any};

Sæt hashfragmentet på URL'en
@Input() fragment: streng;

Indstil forespørgselsparameterbehandlingstilstanden: sammenfletning, bevare og standard
@Input() queryParamsHandling: QueryParamsHandling;

Sætter om fragmenter skal beholdes
@Input() bevare Fragment: boolesk;

Når man sætter sidenavigation, om man skal tilføje nye statusser til historikken
@Input() skiplocatio{filter}nChange: boolean;

Når du sætter sidenavigationen, om den nuværende tilstand i historikken skal udskiftes
@Input() erstatteUrl: boolean;

Sæt kommandoer med parameterinformation, for eksempel: ['/user/bob']
@Input()
set routerLink(kommandoer: any[]|string) {
    hvis (kommandoer != null) {
      this.commands = Array.isArray(commands) ? kommandoer: [kommandoer];
    } ellers {
      this.commands = [];
    }
}

RouterLink kommandobinding

Begivenhedsbinding

RouterLink-klassen

@Attribute()
@Attribute('attributeName') decorator: Bruges til at opnå attributværdien, der svarer til attributnavnet på kommandoens værtelement.

tabindex
Tabindex-egenskaben angiver tabulatortastens kontrolrækkefølge for et element (når tabulatortasten bruges til navigation).

Følgende elementer understøtter tabindeksattributter: <a>, <area>, <button>, <input><object><select> , , , , og <textarea> .

Tabindex-syntaks:

RouterLink-klassen

RouterLink-klassen

RouterLinkWithHref-kommandoen

RouterLinkWithHref-direktivet

RouterLinkWithHref-direktiv inputegenskab
RouterLinkWithHref-kommandoen

Attributbinding

<a> Tags definerer hyperlinks, der bruges til at linke fra én side til en anden. <a> Der er to vigtige egenskaber i tags:

HREF - Angiver URL-adressen på den side, linket fører til. Hvis du ikke bruger href-attributten, kan du ikke bruge følgende attributter: download, media, rel, target og type attributter.

Mål - angiver, hvordan den linkede side åbnes i browservinduet, og dens parameterværdier er hovedsageligt som følger:

_blank - Indlæs måldokumentet i et nyt browservindue.

_parent - Dette mål får dokumentet til at indlæses i forældrevinduet eller rammesættet, der indeholder den ramme, hyperlinket refererer til. Hvis denne reference er i et vindue eller i en topniveau-ramme, er den ækvivalent med mål-_self.

_self - Værdien af dette mål er standardmålet for alle etiketter, der ikke specificerer et mål <a> , hvilket får måldokumentet til at blive indlæst og vist som kildedokumentet i samme ramme eller vindue. Dette mål er overflødigt og unødvendigt, medmindre det <base> bruges sammen med målattributten i dokumenttitelfanen.

_top - Dette mål får dokumentet til at indlæse vinduet med hyperlinket, og ved at bruge _top mål vil alle inkluderede frames blive slettet og dokumentet indlæst i hele browservinduet.

Begivenhedsbinding

MouseEvent repræsenterer en begivenhed, der opstår, når en bruger interagerer med en pegerenhed (såsom en mus), og almindelige begivenheder inkluderer: klik, dblklik, mouseup og mousedown-begivenheder. MouseEvent-objektet indeholder en knapattribut, der repræsenterer den museknap, brugeren trykker på, og de mulige attributværdier er som følger:

  • 0 - Hovedknappen trykkes, hvilket normalt refererer til venstre museknap.
  • 1 - Hjælpeknappen trykkes, som normalt henviser til musehjulet.
  • 2 - Den anden tast trykkes, som normalt henviser til højre museknap.
  • 3 - Den fjerde knap trykkes, som normalt henviser til browserens tilbage-knap.
  • 4 - Den femte knap trykkes, som normalt henviser til browserens fremad-knap.


For en mus konfigureret til venstrehåndet brug vil tastetrykkene være det modsatte. I dette tilfælde læses værdien fra højre mod venstre. I eksempelkoden ovenfor tilgår vi også ctrlKey- og metaKey-egenskaberne for MouseEvent-objektet, som indeholder altKey- og shiftKey-egenskaberne ud over disse to egenskaber. Disse egenskaber beskrives nedenfor:

  • MouseEvent.ctrlKey - returnerer true, hvis kontroltasten trykkes, når musebegivenheden udløses.
  • MouseEvent.metaKey - returnerer true, hvis (Window - ⊞, Mac - ⌘ Command)-tasten trykkes, når musebegivenheden udløses.
  • MouseEvent.altKey - Returnerer true, når musebegivenheden udløses, hvis tasten (Window - alt, Mac - Option eller ⌥) trykkes.
  • MouseEvent.shiftKey - Returnerer true, hvis shift-tasten trykkes, når en musebegivenhed udløses.


Hvis du trykker ctrlKey og derefter klikker på fanen, <a> oprettes en ny faneside med den nuværende URL-adresse. Hvis du trykker på metaKey og derefter klikker på <a> fanen, vil den aktuelle side blive opdateret. Derfor udføres den tilsvarende vurdering i onClick()-metoden.

RouterLinkWithHref-kommandoens livscyklus

ngOnChanges()

ngOnDestroy()

RouterLinkWithHref-klassen

RouterLinkWithHref-klassen
RouterLinkWithHref-klassen

Introduktion til RouterLinkActive-kommandoen

RouterLinkActive-direktivet tillader dig at tilføje CSS-klasser til et element, når den linkede rute bliver aktiv. Tag et kig på følgende eksempel:

Når URL-adressen er /user eller /user/bob, tilføjes activ-link-klassen <a> til tagget. Hvis URL'en ændres, fjernes active-link-klassen automatisk fra <a> tagget. Du kan også tilføje flere klasser på én gang, som følger:

Når du anvender kommandoen routerLinkActive, kan du også bruge parameteren routerLinkActiveOptions til at konfigurere, hvordan URL'er matches, som følger:

Når parameteren {exact: true} konfigureres, tilføjes den aktive-link-klasse kun til tagget, hvis URL-adressen matcher <a> præcist . Du kan også tildele en RouterLinkActive-instans til en skabelonvariabel og tjekke isActive-status for kommandodirektiverne:

Endelig kan du også anvende RouterLinkActive-kommandoen på forældreelementet i RouterLink. Eksempler inkluderer:

I eksemplet ovenfor, når URL'en adresseres som /user/jim eller /user/bob, tilføjes den aktive link-klasse <div> til det tilsvarende element.

RouterLinkActive kommando forklaret i detaljer

RouterLinkActive-kommandodefinition


RouterLinkActive kommando inputegenskab

RouterLinkActive-kommandolivscyklus

ngAfterContentInit()


ngOnChanges()

ngOnDestroy()

RouterLinkActive-klassen

RouterLinkActive-klassen

RouterLinkActive-klassen







Tidligere:Der er en funktion her, som er virkelig god, du kan tjene penge, det er promotion.
Næste:Udgivet et DZ online betalingskontrakt-frit plugin, som er tilgængeligt til personlig testning.
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com