Saya memiliki aplikasi Angular 8 yang menampilkan halaman login saat startup.

Bagaimana/apa yang menetapkan ini sebagai halaman awal? Hanya ada 1 modul perutean. Saya mencari referensi untuk itu tetapi tidak ada yang menunjukkan bahwa halaman ini harus ditampilkan saat startup.

Apa yang saya lewatkan? Ada ide?

enter image description here

Berikut adalah file app-routing.module.ts:

import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {HomeComponent} from './pages/home/home.component';
import {DetailsComponent} from './pages/details/details.component';
import {AddComponent} from './pages/add/add.component';
import {LoginComponent} from './pages/login/login.component';
import {SignupComponent} from './pages/signup/signup.component';

import {AuthGuard} from './guards/auth.guard';
import {AppGuard} from './guards/app.guard';

const routes: Routes = [
   {path: '', component: HomeComponent, canActivate: [AppGuard]},
   {path: 'details/:city', component: DetailsComponent, canActivate: [AppGuard]},
   {path: 'add', component: AddComponent, canActivate: [AppGuard]},
   {path: 'login', component: LoginComponent, canActivate: [AuthGuard]},
   {path: 'signup', component: SignupComponent , canActivate: [AuthGuard]},
   {path: '**', redirectTo: ''}
];

@NgModule({
 imports: [RouterModule.forRoot(routes)],
 exports: [RouterModule]
})
export class AppRoutingModule {}
0
user3020047 9 Januari 2020, 06:21

2 jawaban

Jawaban Terbaik

Jika Anda melihat kode, Anda telah mendapatkan array Routes Anda yang menunjukkan komponen yang akan dirender berdasarkan URL atau jalur navigasi yang diambil. Sekarang jika Anda akan melihat properti canActivate ada dua penjaga yang Anda gunakan satu AppGuard dan AuthGuard lainnya. Penjaga pada dasarnya ada untuk melindungi beberapa halaman Anda dari aksesibilitas langsung. Jika semua penjaga kembali benar, navigasi terjadi. Contohnya adalah ketika seseorang membeli sesuatu di situs web Anda. Dia mungkin harus menjadi pengguna yang masuk dan Anda mengarahkan pelanggan ke layar masuk. Baca selengkapnya tentang canActivate dan authguard.

Dugaan awal saya adalah melihat AppGuard mengingat itu ada di properti canActivate dari navigasi default Anda. Meskipun demikian, periksa juga di AuthGuard. Akan memberi Anda kejelasan tentang mengapa Anda memiliki dua penjaga dalam aplikasi Anda dan apa tanggung jawab masing-masing dari mereka. Semoga itu membantu.

0
Manit 9 Januari 2020, 03:42

Melihat lebih dekat dan memahami penjaga, saya melihat bahwa 'AppGuard' dialihkan ke halaman login saat startup karena belum diautentikasi. Ini mencoba untuk default ke halaman beranda saat startup, tetapi kemudian Appguard dijalankan dan menunjukkan bahwa Pengguna belum diautentikasi sehingga dialihkan ke halaman login.

0
user3020047 9 Januari 2020, 16:06