2016-07-07 15 views
1

私は角度2で新しいです。ユーザー/パスを確認してから管理していたログインアプリを作成しようとしていて、ダッシュボードにリダイレクトしてアプリをリロードします。 router.navigateを使用してページを更新しない方法はありますか?角度2はrouter.navigateを使用してリダイレクト

編集:最初にダッシュボードにリダイレクトした後、ページをリロードして、再びダッシュボードにリダイレクトします。

import { Component } from '@angular/core'; 
 
import { Router, ROUTER_DIRECTIVES } from '@angular/router'; 
 

 
@Component({ 
 
    selector: 'login', 
 
    templateUrl: './app/login/views/login.html', 
 
}) 
 

 
export class LoginComponent { 
 
    constructor(public router: Router) {} 
 
    data = { 
 
     username: "", 
 
     password: "", 
 
    }; 
 
    loginAction(){ 
 
     if(this.data.username=="user1" && this.data.password=="pass1"){ 
 
      console.log('do redirect to dashboard'); 
 
      this.router.navigate(['dashboard']); 
 
     } else { 
 
      console.log('Something is wrong with your user/password.'); 
 
     } 
 
    } 
 
}

答えて

1

this.router.navigate([ '/ダッシュボードを'])してみてくださいました。

+0

ええ、あまりにもまだページをリフレッシュした、これは答えよりもコメントでなければなりません。 – nCore

+0

hmそれはおそらく答えです。ルーティングに関するもう1つの質問は、ユーザーがダッシュボードを実行するのを制限する方法ですか?彼らがlocalStorageをチェックせずにこのルートに行くように強制すると、それらをリダイレクトする必要があります。通常はif(localStorage.getItem)のようになります。 – nCore

0

あなたはrelativeTo

router.navigate(['dashboard'], {relativeTo: route}); 
+0

しかし、それは私にエラーコンパイルを与えています、constとインポートに疲れた注入経路ですが、{relativeTo:経路}経路では名前を見つけることができません。私の元の投稿で私の編集を参照してください。 – nCore

関連する問題