我已经设置了这样的路由。当用户浏览到 http://localhost:3000 时,如果尝试加载 Home 组件。但是如果用户没有登录,它会将用户重定向到登录组件。
@Component({
moduleId: module.id,
selector: 'app',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css'],
directives: [ROUTER_DIRECTIVES],
providers: [UserService]
})
@Routes([
{path: '/', component: HomeComponent},
{path: '/login', component: LoginComponent}
])
export class App implements OnInit {
title: string = 'App Component';
constructor(private router: Router) {}
ngOnInit() {
}
}
到目前为止,它工作正常。没有任何问题。
一旦用户登录,它将用户重定向到主组件。
但是,当我尝试使用 URL http://localhost:3000/comp1加载/ comp1 时,它会查看第二级并尝试查找 /comp1 以及主页和登录组件,而不是在“主页组件”下并抛出错误找不到路线“/comp1”。
我知道这是一个模棱两可的问题。因为我的主页是'/'。但这很常见,即主组件位于应用程序的根级别,并且您不想在主组件的根 URL 中添加“/home”或“/main”。
任何建议如何使它工作?