2017-10-16 1 views
0

Ich möchte den Benutzer protokolliert werden, wenn Name/Passwort wahr sind, sonst auf der Seite bleiben. Ich benutze einen RouterLink, aber ich konnte nicht herausfinden, wie man den Router daran hindert, auf das Dashboard umzuschalten, ohne zu überprüfen. Ich habe eine Funktion namens test() verwendet: boolean, die wahr zurückgibt, wenn der Name/das Passwort gültig sind.Angular2 Conditional RouterLink für Login

<a class="btn rounded-btn" [routerLink]="['dashboard', 'home']" onClick="test()"> Log in </a> 

hier ist mein login.component:

import { Component, OnInit } from '@angular/core'; 

@Component({ 
    selector: 'app-login', 
    templateUrl: './login.component.html', 
    styleUrls: ['./login.component.scss'] 
}) 
export class LoginComponent implements OnInit { 
    constructor() { } 
    ngOnInit() { } 

    test():boolean{ 

     return false ; 
    } 
} 
+0

Verwendung AuthGuard. Hier: http://jasonwatmore.com/post/2016/12/08/angular-2-redirect-to-previous-url-after-login-with-auth-guard – Faisal

Antwort

0

Sie Router Navigation statt Router verwenden können, wenn Benutzername und Passwort wird korrigieren zu Dashboardseite navigieren:

dieses .router.navigate (["/ dashboard"], {einige Daten: "otherData"});

Sie können mehr Informationen aus dem Winkel Dokumentation erhalten: https://angular.io/guide/router#navigating-back-to-the-list-component

+0

wo soll ich diesen Router anmelden? – BadrEddineBen

+0

Inject Router in Constructor: 'import {ActivatedRoute, Router} von '@ Winkel/Router';' ' Konstruktor (privat Router: Router) { } // Ende der constructor' – Amit

+0

danken ist, es funktioniert – BadrEddineBen