Eckige 2-Ereignis, wenn alle [routerLink] geklickt wird
Habe ich eine einfache Loader-Service, verbirgt und zeigt gewisse Lader. Ich arbeite an etwas, das eine Menge, bei langsamen verbindungen, und ich brauche zum ein - /ausblenden ein-loader zwischen route ändert.
Kann ich ausblenden, der Lader, wenn die neue route geladen wird, mit den folgenden.
this._Router.subscribe(() => {
this._LoaderService.hide();
})
Ich versuche einen Weg zu finden, dass ich anrufen kann meine this._LoaderService.show()
Funktion sofort, wenn irgendwelche [routerLink] geklickt wird (am Anfang der route ändern, nicht das Ende).
Hatte, habe ich einen Blick um und ich versuchte https://angular.io/docs/ts/latest/api/router/Router-class.html aber ich kann nicht scheinen, um es herauszufinden.
Jede Hilfe dankbar
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man erstellen Sie Ihre eigenen
routerLink
Richtlinie durch die Verlängerung der Standard-ein https://github.com/angular/angular/blob/master/packages/router/src/directives/router_link.ts und überschreiben Sie dieonClick()
Ähnlich micronyks Antwort
sollte auch funktionieren, aber Sie Hinzugefügt haben, um den click-handler everywhwere.
Mit so viel Informationen ist es nicht möglich zu sagen, Sie richtige Weg ist, beachten Sie bitte auch, dass diese loader-service-Implementierung variiert je nach router-Implementierung.
Entweder haben Sie zu verlängern
route-outlet
Klasse und sollte in der LageloaderService
es ODER Sie haben zu handhaben link klicken, indem Sie Ihre eigenen wie,chage es,
dann,
Wird, und wenn eine bestimmte route/link/Komponente aktiv ist, werden innerhalb dieser Komponente können Sie schließen Sie Ihre loader-service, Wann immer und wo immer Sie wollen.
routerLinkActive
?Hatte ich ganz ähnlich müssen bei der Einbindung von bootstrap navbar in Angular2 app.
Die Lösung kam ich verbindlich sei eine Boolesche variable zur Steuerung der toggle-Status der navbar (äquivalent zu verbergen, und zeigen Sie auf Ihrem Fall).
Sobald der Benutzer klickt auf das hamburger-Symbol oder die ungeordnete Liste der routerLinks, die variable wurde entsprechend eingestellt. Hinweis: ich Binde das click-Ereignis der Elternteil, der Anker, die die eigentliche routing in Eckig.
Sieht mehr bequem dann ist die Verlängerung der routerLink Richtlinie.