Angular2 - 我使用router.navigate - 当我改变路线时它会跳回到原始路线?
我的应用运行正常。 但是在登录时我想将用户重定向到登录的仪表板。 但是当它访问仪表板视图时,它会再次返回登录视图。
到目前为止,这是我的代码:
this.router.navigate('/Dashboard');
使用路由器链接等所有路由都可以正常工作但我需要login.ts文件才能在登录成功时进行重定向。
这是我的Login.is文件:
import {Component, View, CORE_DIRECTIVES, FORM_DIRECTIVES, NgIf} from 'angular2/angular2';
import {Router, RouterLink, RouterOutlet} from 'angular2/router';
import {AuthService} from '../../services/authService';
import {User} from '../../models/user';
import {Dashboard} from '../home/home';
@Component({
selector: 'Login',
providers: [AuthService, User]
})
@View({
templateUrl: '/src/app/components/login/login.html',
directives: [RouterOutlet, RouterLink, CORE_DIRECTIVES, FORM_DIRECTIVES, NgIf],
})
export class Login {
authService:AuthService;
user: User;
error: string = null;
router: Router;
constructor(router: Router, authService: AuthService, user: User){
this.authService = authService;
this.user = user;
this.router = router;
}
logIn = () => {
this.authService.logIn(this.user).then((response) => {
if(response === false)
this.error = "Incorrect login details";
else
this.router.navigate(['/Dashboard']);
});
}
}
答案 0 :(得分:0)
我设法解决了这个问题。
解决方案是:app.ts中路由配置的命名问题。我的名字与路线不匹配。