【发布时间】:2017-07-29 22:19:25
【问题描述】:
我关注angular official tutorial。这个问题让我很困惑,但是本教程没有解释为什么会这样。
当我们点击一个元素时,我们会路由到一个视图/模板。您可以看到,我们有'/ heroes',为什么我们需要在这里添加'/'?我删除了'/',然后路由器无法工作。
template: `
<h1>{{title}}</h1>
<nav>
<a routerLink="/dashboard">Dashboard</a>
<a routerLink="/heroes">Heroes</a>
</nav>
<router-outlet></router-outlet>
这是路由器定义,但它没有'/'。
const routes: Routes = [
{ path: '', redirectTo: '/dashboard', pathMatch: 'full' },
{ path: 'dashboard', component: DashboardComponent },
{ path: 'detail/:id', component: HeroDetailComponent },
{ path: 'heroes', component: HeroesComponent }
];
【问题讨论】:
-
澄清一下:你问为什么要写
/heroes而不是heroes? -
是的。为什么在 routerLink 中使用“/heroes”?
-
因为只有
'heros'是相对于当前路由的'/heros'是相对于应用程序的根目录 -
@0mpurdy 为什么我们不在此处添加“/”? { 路径:“英雄”,组件:英雄组件 }
-
因为您正在描述一个路径列表,这些路径都是相对的