如何从索引重定向到angular2中的模块

时间:2017-04-06 09:07:59

标签: angular angular2-routing

我是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

2 个答案:

答案 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},
 ...