219

Angular 2 - を使用して別のルートに移動するにはどうすればよいthis.router.parent.navigate('/about')ですか?

うまくいかないようです。location.go("/about");うまくいかなかったのでやってみました。

基本的に、ユーザーがログインしたら、別のページにリダイレクトしたいと思います。

以下は私のコードです:

 import {Component} from 'angular2/angular2';
 import {CORE_DIRECTIVES, FORM_DIRECTIVES} from 'angular2/angular2';
 import {Router} from 'angular2/router';

 import {AuthService} from '../../authService';

 //Model
 class User {
   constructor(public email: string, public password: string) {}
 }

 @Component({
   templateUrl:'src/app/components/todo/todo.html',
   directives: [CORE_DIRECTIVES, FORM_DIRECTIVES]
 })

 export class Todo {   
     model = new User('Mark@gmail.com', 'Password'); 
     authService:AuthService;
     router: Router;

   constructor(_router: Router, _authService: AuthService){   
       this.authService = _authService;
       this.router = _router;
   }

   onLogin = () => {
       this.authService.logUserIn(this.model).then((success) => {      

          //This is where its broke - below:          
          this.router.parent.navigate('/about');

       });
   }
 }
4

5 に答える 5

33

使用する必要があります

this.router.parent.navigate(['/About']);

ルート パスを指定するだけでなく、ルートの名前を指定することもできます。

{ path:'/About', name: 'About',   ... }

this.router.parent.navigate(['About']);
于 2015-11-06T17:07:52.443 に答える