我是angular2的新手,我有一个示例登录&来自在线的注册码,当我运行它显示索引页面时,但是有一个名为" login"在app文件夹中。
如何从此索引页面重定向到通过代码或键入网址登录?
现在项目运行在" localhost:3000",这是我的路由器文件:
"use strict";
var router_1 = require('@angular/router');
var index_1 = require('./home/index');
var index_2 = require('./login/index');
var index_3 = require('./register/index');
var index_4 = require('./_guards/index');
var appRoutes = [
{ path: '', component: index_1.HomeComponent, canActivate: [index_4.AuthGuard] },
{ path: 'login', component: index_2.LoginComponent },
{ path: 'register', component: index_3.RegisterComponent },
// otherwise redirect to home
{ path: '**', redirectTo: '' }
];
exports.routing = router_1.RouterModule.forRoot(appRoutes);
//# sourceMappingURL=app.routing.js.map
答案 0 :(得分:0)
您需要导入Router
模块
import { Router } from "@angular/router";
然后在Router
的构造函数
index_1.HomeComponent
constructor(private router: Router)
在组件的ngOnInit
方法中,如果用户已登录,则可能存在某些逻辑,如果未登录,则可以按以下方式重定向登录页面:
this.router.navigate(["/login"]);
答案 1 :(得分:0)
如果您只想让LoginComponent成为路由器插座中的默认组件,您只需交换HomeComponent和LoginComponent即可。或者您可以将“”重定向到登录状态。 你的路线就像
...
{ path: '', redirectTo:'login', pathMatch:'full'},
{ path: 'home', component: HomeComponent },
{ path: 'login',component:LoginComponent},
...