【发布时间】:2016-09-24 20:58:49
【问题描述】:
我是 Angular 2 的新手,我有一个关于路由的问题。我有一个 app.routing 文件,我只想要一个路径。
{path: 'signup', component: SignupComponent}
但是如果我运行这段代码,我会得到一个错误:
Error: Uncaught (in promise): Error: Cannot match any routes: ''
所以我决定只在 ' ' 路径上使用一个空组件,它的工作方式与我想要的完全一样。
路由文件:
import {Routes, RouterModule} from '@angular/router';
import {SignupComponent} from "./signup/signup.component";
import {EmptyComponent} from "./empty/empty.component";
const appRoutes:Routes = [
{path: '', component: EmptyComponent},
{path: 'signup', component: SignupComponent}
];
export const appRoutingProviders = [];
export const routing = RouterModule.forRoot(appRoutes);
带有路由器插座的文件:
<header>
<div class="btn-wrapper">
<button class="btn-sign-up btn-fancy" routerLink="/signup">Sign Up</button>
<button class="btn-sign-in btn-ghost btn-fancy">Sign In</button>
</div>
<i class="material-icons more">keyboard_arrow_down</i>
<router-outlet></router-outlet>
<div class="overlay" *ngIf="overlay" (click)="close()"></div>
<div class="tinted"></div>
</header>
我只希望路由器仅在“注册”路径上路由 SignupComponent。还有其他方法可以做到这一点并消除使用空组件吗?如果这个问题写得不好,我很抱歉,我是 StackOverflow 的新手。
【问题讨论】: