Angular 2 ルーター - ログアウトし、ユーザーがログインしたページに移動しようとすると、リダイレクトするには app.ts が必要です。
angular 2でtypescriptを使用しています。
何らかの理由で、リダイレクトが一部のページで機能します。しかし、コンストラクターにコードがあると、それがヒットします。ログインしていない場合、ユーザーをすぐにホームページにリダイレクトしたい.
ログインしているかどうかを確認し、app.ts ファイルにログインしていない場合は、次のコードを実行します。
this.router.navigate(['Home']);
これは基本的なページでは機能しますが、たとえば検索ページにアクセスしようとすると、コンポーネント コンストラクターにアクセスするためにコンソール エラーが発生します。
これは、app.ts ファイルのルート構成です。
@RouteConfig([
{ path: '/', component: Home, as: 'Home'},
{ path: '/home', component: Home, as: 'Home' },
{ path: '/login', component: Login, as: 'Login' },
{ path: '/register/:id', component: Register, as: 'Register' },
{ path: '/forgotpassword', component: ForgotPassword, as: 'ForgotPassword' },
{ path: '/dashboard', component: Dashboard, as: 'Dashboard' },
{ path: '/search', component: SearchJobs, as: 'Search' },
{path:'/**', redirectTo: ['Home']}
])