Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 11475|Svare: 0

[Kantet] Angular 4.x Router Link-kommando

[Kopier lenke]
Publisert på 25.10.2018 15:52:29 | | |
Introduksjon til RouterLink-kommandoer

RouterLink-kommandoen lar deg koble til en spesifikk del av applikasjonen din. Hvis lenken er statisk, kan vi bruke kommandoen på følgende måte:


Hvis du trenger å generere lenkeadresser med dynamiske verdier, kan du sende et array av stisegmenter og deretter parameterne for hvert segment. For eksempel, ved å bruke et array av ['/team', teamId, 'user', userName, {details: true}] vil vi generere en lenke til /team/11/user/bob; detaljer=true 。

Flere statiske segmenter kan slås sammen til ett, f.eks. ['/team/11/user', userName, {details: true}].

Det første stifragmentet kan defineres som /, ./, eller . / Begynnelse:

  • Hvis den starter med /, vil ruten begynne å se opp fra rotruten
  • Hvis den starter med ./ eller ikke brukes, vil ruten begynne å slå opp fra den underliggende ruten som for øyeblikket er aktiv for ruten
  • Hvis du starter med: / begynner, ruten går til neste nivå av oppslag


Du kan sette spørringsparametere og fragmenter på følgende måter:


RouterLink-kommandoen vil generere følgende lenke basert på inputparametrene satt ovenfor: /user/bob#education?debug=true. I tillegg kan vi erklære hvordan vi skal håndtere spørringsparametere via egenskapen queryParamsHandling, og de tilgjengelige alternativene er:

  • merge - Slå sammen eksisterende queryParams til de nåværende queryParams
  • preserve - Lagre de nåværende queryParams
  • default ('') - Bruk kun spørringsparametere


Spesifikke brukseksempler er som følger:


RouterLink-kommandoen forklart i detalj

Definisjon av RouterLink-kommandoen

RouterLink-kommandoinndataegenskapen

Sett spørringsparametrene relatert til URL-en
@Input() queryParams: {[k: string]: any};

Sett hash-fragmentet på URL-en
@Input() fragment: streng;

Sett behandlingsmodus for spørringsparameteren: slå sammen, bevare og standard
@Input() queryParamsHandling: QueryParamsHandling;

Setter om fragmenter skal beholdes
@Input() bevare Fragment: boolsk;

Når man setter sidenavigasjon, om man skal legge til nye statuser i historikken
@Input() skiplocatio{filter}nChange: boolean;

Når du setter sidenavigasjonen, om du skal erstatte den nåværende tilstanden i historikken
@Input() erstatterUrl: boolean;

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

RouterLink-kommandobinding

Hendelsesbinding

RouterLink-klassen

@Attribute()
@Attribute('attributeName') decorator: Brukes til å hente attributverdien som tilsvarer attributtnavnet attributtnavnet på kommandoens vertselement.

tabindex
Tabindex-egenskapen spesifiserer tabulatortastens kontrollrekkefølge for et element (når tabulatortasten brukes til navigasjon).

Følgende elementer støtter tabindex-attributter: <a>, <area>, <button>, <input><object><select> , , , , og <textarea> .

TabIndex-syntaks:

RouterLink-klassen

RouterLink-klassen

RouterLinkWithHref-kommandoen

RouterLinkWithHref-direktivet

Inngangsegenskapen RouterLinkWithHref-direktivet
RouterLinkWithHref-kommandoen

Attributtbinding

<a> Tagger definerer hyperkoblinger som brukes til å lenke fra én side til en annen. <a> Det er to viktige egenskaper i tagger:

HREF - spesifiserer URL-adressen til siden lenken leder til. Hvis du ikke bruker href-attributten, kan du ikke bruke følgende attributter: nedlasting, media, rel, mål og type-attributter.

mål - spesifiserer hvordan den lenkede siden åpnes i nettleservinduet, og parameterverdiene er hovedsakelig som følger:

_blank - Last måldokumentet i et nytt nettleservindu.

_parent - Dette målet får dokumentet til å laste inn i foreldrevinduet eller rammesettet som inneholder rammen som hyperkoblingen refererer til. Hvis denne referansen er i et vindu eller i et toppnivå-rammeverk, er den ekvivalent med mål-_self.

_self - Verdien til dette målet er standardmålet for alle etiketter som ikke spesifiserer et mål <a> , noe som gjør at måldokumentet lastes inn og vises som kildedokumentet i samme ramme eller vindu. Dette målet er overflødig og unødvendig med mindre det <base> brukes sammen med målattributtet i dokumenttittelfanen.

_top - Dette målet får dokumentet til å laste vinduet som inneholder hyperkoblingen, og ved å bruke _top mål vil alle inkluderte rammer slette og laste dokumentet i hele nettleservinduet.

Hendelsesbinding

MouseEvent representerer en hendelse som oppstår når en bruker interagerer med en pekerenhet (som en mus), og vanlige hendelser inkluderer: click, dblclick, mouseup og mousedown-hendelser. MouseEvent-objektet inneholder et knappattributt som representerer museknappen som brukeren trykker på, og de mulige attributtverdiene er som følger:

  • 0 - Hovedknappen trykkes, vanligvis med henvisning til venstre museknapp.
  • 1 - Hjelpeknappen trykkes, vanligvis med henvisning til musehjulet.
  • 2 - Den andre tasten trykkes, vanligvis med henvisning til høyre museknapp.
  • 3 - Den fjerde knappen trykkes, vanligvis med henvisning til nettleserens tilbake-knapp.
  • 4 - Den femte knappen trykkes, vanligvis med henvisning til nettleserens fremoverknapp.


For en mus konfigurert for venstrehendt bruk, vil tastetrykkene være motsatt. I dette tilfellet leses verdien fra høyre til venstre. I eksempelkoden ovenfor får vi også tilgang til ctrlKey- og metaKey-egenskapene til MouseEvent-objektet, som inneholder altKey- og shiftKey-egenskapene i tillegg til disse to egenskapene. Disse egenskapene beskrives nedenfor:

  • MouseEvent.ctrlKey - returnerer true hvis kontrolltasten trykkes når musehendelsen utløses.
  • MouseEvent.metaKey - returnerer true hvis (Window - ⊞, Mac - ⌘ Command)-tasten trykkes når musehendelsen utløses.
  • MouseEvent.altNøkkel - Returnerer true når musehendelsen utløses hvis (Window - alt, Mac - Option, eller ⌥ ) tasten trykkes.
  • MouseEvent.shiftKey - Returnerer true hvis shift-tasten trykkes når en musehendelse utløses.


Hvis du trykker ctrlKey og deretter klikker på fanen, <a> vil en ny faneside bli opprettet med den nåværende URL-adressen. Hvis du trykker på metaKey og deretter klikker på <a> fanen, vil den nåværende siden bli oppdatert. Derfor utføres den tilsvarende vurderingen i onClick()-metoden.

RouterLinkWithHref-kommandolivssyklus

ngOnChanges()

ngOnDestroy()

RouterLinkWithHref-klassen

RouterLinkWithHref-klassen
RouterLinkWithHref-klassen

Introduksjon til RouterLinkActive-kommandoen

RouterLinkActive-direktivet lar deg legge til CSS-klasser i et element når den lenkede ruten blir aktiv. Ta en titt på følgende eksempel:

Når URL-adressen er /user eller /user/bob, vil active-link-klassen bli lagt <a> til taggen. Hvis URL-en endres, fjernes active-link-klassen automatisk fra <a> taggen. Du kan også legge til flere klasser samtidig, som følger:

Når du bruker kommandoen routerLinkActive, kan du også bruke parameteren routerLinkActiveOptions for å konfigurere hvordan URL-er matches, som følger:

Når parameteren {exact: true} konfigureres, legges active-link-klassen bare til taggen hvis URL-adressen matcher nøyaktig <a> . Du kan også tilordne en RouterLinkActive-instans til en malvariabel og sjekke isActive-statusen til kommandodirektivene:

Til slutt kan du også bruke RouterLinkActive-kommandoen på foreldreelementet i RouterLink. Eksempler inkluderer:

I eksempelet ovenfor, når URL-en adresseres som /user/jim eller /user/bob, legges active-link-klassen <div> til det tilsvarende elementet.

RouterLinkActive-kommandoen forklart i detalj

Kommandodefinisjon av RouterLinkActive


RouterLinkActive-kommandoinndataegenskapen

RouterLinkActive-kommandolivssyklus

ngAfterContentInit()


ngOnChanges()

ngOnDestroy()

RouterLinkActive-klassen

RouterLinkActive-klassen

RouterLinkActive-klassen







Foregående:Det er en funksjon her som er veldig god, du kan tjene penger, det er promotering.
Neste:Lanserte en plugin uten DZ online betalingskontrakt, som er tilgjengelig for personlig testing.
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com