2016-08-20 9 views
1

私は角度2を使用して私の最初のアプリを開発していますが、私は奇妙な問題に遭遇しました。角度2 redirectToルータが動作しない

私はこのような私のルートの設定を持っている:

export const routes: RouterConfig = [ 
{ path: '', redirectTo: 'login' }, 
{ path: 'login', component: Login }, 
{ path: 'home', component: Home } 
]; 

と私はlocalhostと入力します。私は、自動的に自分のローカルホストにリダイレクトしています3000:私のログインフォームのページである3000 /ログイン、。資格情報を入力してサブミットをクリックすると、naviagationは機能しません(コンソールにエラーはありません)が、localhost:3000/loginをリフレッシュするとsuprisinglyルータが動作します。

私はルータをこのように呼ん:

export class Login { 
    constructor(public router: Router, public http: Http) { 
    } 

login(event, username, password) { 
    event.preventDefault(); 
    // ... 
    this.router.navigate(['/home']); 
} 

}

このルートの設定と間違っている可能性は?

this.router.navigate(['home']); 

はまた、あなたがあなたのリダイレクトルート上pathMatch: 'full'プロパティを設定する必要があるかもしれません:

答えて

9

あなたは先頭のスラッシュを省略しなければなりません。

{ path: '', redirectTo: 'login', pathMatch: 'full' } 

それ以外の場合は、より深いレベルのルートがある場合はルートがトリガーされません。

+0

残念ながらそれも動作しません – Andayz

+0

私の編集を確認してください。 – j2L4e

+0

スラッシュを削除した後に、それもまた更新された後で動作を停止しました – Andayz

関連する問題