Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 11475|Antwoord: 0

[Angular] Angular 4.x Router Link-commando

[Link kopiëren]
Geplaatst op 25-10-2018 15:52:29 | | |
Introductie tot RouterLink-commando's

Het RouterLink-commando stelt je in staat om te koppelen aan een specifiek deel van je applicatie. Als de link statisch is, kunnen we het commando op de volgende manier gebruiken:


Als je linkadressen met dynamische waarden moet genereren, kun je een array van padsegmenten doorgeven en vervolgens de parameters voor elk segment. Bijvoorbeeld, met een array van ['/team', teamId, 'user', userName, {details: true}] willen we een link genereren naar /team/11/user/bob; details=true 。

Meerdere statische segmenten kunnen worden samengevoegd tot één, bijvoorbeeld ['/team/11/user', userName, {details: true}].

Het eerste padfragment kan worden gedefinieerd als /, ./, of . / Begin:

  • Als het begint met /, zal de route omhoog gaan kijken vanaf de wortelroute
  • Als het begint met ./ of niet wordt gebruikt, begint de route omhoog te zoeken vanaf de kindroute die momenteel actief is voor de route
  • Als je begint met: / begint, de route gaat naar het volgende niveau van zoekopdracht


Je kunt queryparameters en fragmenten op de volgende manieren instellen:


Het RouterLink-commando genereert de volgende link op basis van de hierboven ingestelde invoerparameters: /user/bob#education?debug=true. Daarnaast kunnen we via de queryParamsHandling-eigenschap declareren hoe om te gaan met queryParamsHandling; de beschikbare opties zijn:

  • merge - Samenvoegen bestaande queryParams in de huidige queryParams
  • preserve - Sla de huidige queryParams op
  • default ('') - Gebruik alleen queryparameters


Specifieke gebruiksvoorbeelden zijn als volgt:


RouterLink-commando in detail uitgelegd

RouterLink-commandodefinitie

RouterLink commandoinvoereigenschap

Stel de queryparameters in die met de URL te maken hebben
@Input() queryParams: {[k: string]: any};

Stel het hashfragment in op de URL
@Input() fragment: snaar;

Stel de verwerkingsmodus van queryparameters in: merge, preserve en default
@Input() queryParamsHandling: QueryParamsHandling;

Bepaalt of fragmenten behouden moeten worden
@Input() preserve Fragment: booleaan;

Bij het instellen van paginanavigatie, of er nieuwe statussen aan de geschiedenis toegevoegd moeten worden
@Input() skiplocatio{filter}nChange: boolean;

Bij het instellen van de paginanavigatie wordt de huidige status in de geschiedenis vervangen
@Input() vervangenUrl: boolean;

Stel commandoparameters in, bijvoorbeeld: ['/user/bob']
@Input()
set routerLink(commands: any[]|string) {
    if (commands != null) {
      this.commands = Array.isArray(commands) ? commando's: [commands];
    } anders {
      this.commands = [];
    }
}

RouterLink-commandobinding

Gebeurtenisbinding

RouterLink-klasse

@Attribute()
@Attribute('attributeName') decorator: Gebruikt om de attribuutwaarde te verkrijgen die overeenkomt met de attribuutnaam NameNaam op het commandohostelement.

tabindex
De tabindex-eigenschap specificeert de tabtoetsbesturingsvolgorde van een element (wanneer de tab-toets wordt gebruikt voor navigatie).

De volgende elementen ondersteunen tabindexattributen: <a>, <area>, <button>, <input><object><select> , , , , , en <textarea> .

Tabindex-syntaxis:

RouterLink-klasse

RouterLink-klasse

RouterLinkWithHref-commando

RouterLinkWithHref-richtlijn

RouterLinkWithHref-instructie-invoereigenschap
RouterLinkWithHref-commando

Attribuutbinding

<a> Tags definiëren hyperlinks die worden gebruikt om van de ene pagina naar de andere te linken. <a> Er zijn twee belangrijke kenmerken in tags:

HREF - specificeert het URL-adres van de pagina waar de link naartoe leidt. Als je het href-attribuut niet gebruikt, kun je de volgende attributen niet gebruiken: downloaden, media, rel, target en type attributen.

Doel - specificeert hoe de gekoppelde pagina opent in het browservenster, en de parameterwaarden zijn voornamelijk als volgt:

_blank - Laad het doeldocument in een nieuw browservenster.

_parent - Dit doel zorgt ervoor dat het document wordt geladen in het oudervenster of frameset met het frame waarnaar de hyperlink verwijst. Als deze referentie in een venster of in een topniveau framework is, dan is het equivalent aan de doel-_self.

_self - De waarde van dit doel is het standaarddoel voor alle labels die geen doel specificeren <a> , waardoor het doeldocument wordt geladen en weergegeven als het brondocument in hetzelfde frame of venster. Dit doel is overbodig en overbodig, tenzij het <base> wordt gebruikt met het doelattribuut in het tabblad documenttitel.

_top - Dit doel zorgt ervoor dat het document het venster met de hyperlink laadt, en met het gebruik van het _top doel worden alle inbegrepen frames gewist en wordt het document in het hele browservenster geladen.

Gebeurtenisbinding

MouseEvent vertegenwoordigt een gebeurtenis die plaatsvindt wanneer een gebruiker interactie heeft met een pointer-apparaat (zoals een muis), en veelvoorkomende gebeurtenissen zijn: klik, dblklik, mouseup en mousedown-gebeurtenissen. Het MouseEvent-object bevat een knopattribuut dat de door de gebruiker ingedrukte muisknop vertegenwoordigt, en de mogelijke attribuutwaarden zijn als volgt:

  • 0 - De hoofdknop wordt ingedrukt, meestal verwijzend naar de linkermuisknop.
  • 1 - De hulpknop wordt ingedrukt, meestal verwijzend naar het muiswiel.
  • 2 - De tweede toets wordt ingedrukt, meestal verwijzend naar de rechtermuisknop.
  • 3 - De vierde knop wordt ingedrukt, meestal verwijzend naar de terugknop van de browser.
  • 4 - De vijfde knop wordt ingedrukt, meestal verwijzend naar de vooruit-knop van de browser.


Voor een muis die is ingesteld voor linkshandig gebruik, zullen de toetsaanslagen het tegenovergestelde zijn. In dit geval wordt de waarde van rechts naar links gelezen. In de bovenstaande voorbeeldcode openen we ook de ctrlKey- en metaKey-eigenschappen van het MouseEvent-object, die naast deze twee eigenschappen ook de altKey- en shiftKey-eigenschappen bevatten. Deze eigenschappen worden hieronder beschreven:

  • MouseEvent.ctrlKey - geeft true terug als de control-toets wordt ingedrukt wanneer het muisevent wordt geactiveerd.
  • MouseEvent.metaKey - geeft true terug als de (Window - ⊞, Mac - ⌘ Command) toets wordt ingedrukt wanneer het muisevent wordt geactiveerd.
  • MouseEvent.altKey - Geeft true terug wanneer het muisevent wordt geactiveerd als de (Window - alt, Mac - Option, of ⌥) toets wordt ingedrukt.
  • MouseEvent.shiftKey - Geeft true terug als de shift-toets wordt ingedrukt wanneer een muisgebeurtenis wordt geactiveerd.


Als je op ctrlKey drukt en vervolgens op het tabblad klikt, wordt er een <a> nieuwe tabbladpagina aangemaakt met het huidige URL-adres. Als je op metaKey drukt en vervolgens op het <a> tabblad klikt, wordt de huidige pagina vernieuwd. Daarom wordt in de onClick()-methode het bijbehorende oordeel uitgevoerd.

RouterLinkWithHref-commandolifecycle

ngOnChanges()

ngOnDestroy()

RouterLinkWithHref-klasse

RouterLinkWithHref-klasse
RouterLinkWithHref-klasse

Introductie tot het RouterLinkActive commando

De RouterLinkActive-richtlijn stelt je in staat om CSS-klassen toe te voegen aan een element wanneer de gekoppelde route actief wordt. Bekijk het volgende voorbeeld:

Wanneer het URL-adres /user of /user/bob is, wordt de active-link-klasse aan <a> de tag toegevoegd. Als de URL verandert, wordt de active-link-klasse automatisch uit de <a> tag verwijderd. Je kunt ook meerdere klassen tegelijk toevoegen, als volgt:

Bij het toepassen van het commando routerLinkActive kun je ook de parameter: routerLinkActiveOptions instellen hoe URL's worden gematcht, als volgt:

Wanneer de parameter {exact: true} wordt geconfigureerd, wordt de active-link-klasse alleen aan de tag toegevoegd als het URL-adres exact overeenkomt <a> met . Je kunt ook een RouterLinkActive-instantie toewijzen aan een templatevariabele en de isActive-status van de commando-richtlijnen direct controleren:

Tot slot kun je ook het RouterLinkActive-commando toepassen op het ouderelement van de RouterLink. Voorbeelden zijn:

In het bovenstaande voorbeeld wordt wanneer de URL wordt geadresseerd als /user/jim of /user/bob, de active-link-klasse toegevoegd <div> aan het bijbehorende element.

RouterLinkActive commando in detail uitgelegd

RouterLinkActive-commandodefinitie


RouterLinkActive commando-invoereigenschap

RouterLinkActive commandolifecycle

ngAfterContentInit()


ngOnChanges()

ngOnDestroy()

RouterLinkActive-klasse

RouterLinkActive-klasse

RouterLinkActive-klasse







Vorig:Er is hier een functie die echt goed is, je kunt geld verdienen, het is promotie.
Volgend:Een DZ online betalingscontractvrije plugin uitgebracht, die beschikbaar is voor persoonlijke tests.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com