ログインページとダッシュボードコンポーネントがあります。ダッシュボードがログインページの下に表示されているページからログインすると、新しいページとしてリダイレクトされません。angular = 7?どんな助けも役立つでしょう。
app.component.ts
import { Component } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Shopping-cart';
user = []
users = []
public Candidate = []
public showWhen:boolean = false;
constructor(private _router: Router){}
authenticateLogin(user){
let authUser = JSON.parse(localStorage.getItem('auth'))
console.log(user);
if(user.mail === authUser[0] && user.password === authUser[1]){
this.showWhen = true;
console.log("Logged in Successfully");
this._router.navigate(['dashboard']);
} else {
console.error("Invalid email and password");
}
}
}
これは私のルーティングモジュールです
app-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { DashboardComponent } from './dashboard/dashboard.component';
const routes: Routes = [
{ path: 'dashboard', component: DashboardComponent}
];
@NgModule({
imports: [RouterModule.forRoot(routes, { enableTracing: true })],
exports: [RouterModule]
})
export class AppRoutingModule { }
ログインページへの別のルートが必要です。これがないと、ログインページを呼び出すことはできません。
コードの一部では、これらのコードのチャンクを試してください
app.component.ts
authenticateLogin(user){
let authUser = JSON.parse(localStorage.getItem('auth'))
console.log(user);
if(user.mail === authUser[0] && user.password === authUser[1]){
this.showWhen = true;
console.log("Logged in Successfully");
this._router.navigate(['dashboard']);
} else {
this._router.navigate(['login']);
}
}
そして、あなたはanother router path in
app-routing.module.ts
const routes: Routes = [
{ path: 'dashboard', component: DashboardComponent} ,
{ path: 'login', component: LoginComponent(write your login component name)}
];
ログインフォームの場合は、独自のコンポーネントを作成してルートに追加します。