有一个模块包含所有组件和一个路由模块。
路由模块:
<a routerLink="/admin">Admin control panel</a>
<router-outlet></router-outlet>
根组件:
<ul id="leftMenu">
<li><a routerLink="/dishes">Dishes</a></li>
<li><a routerLink="/categories">Categories</a></li>
</ul>
<div id="adminContent">
<router-outlet></router-outlet>
</div>
管理组件:
http://localhost:4200/admin/categories
链接必须如下:
http://localhost:4200/categories
但是Angular在链接中给了我:
for(ParkingLot p : parkingSpaces){
if(p.nFree()>0)
return true;
}
return false;
如果我在地址栏中输入我需要的地址,一切正常。
答案 0 :(得分:4)
所以这是一个简单的错误..
角度有两种类型的路径 相对路径和绝对路径
所以绝对路径看起来像/admin/categories
注意到开头的/
,这意味着它将从索引中指定的根路径开始路径。 html为<base href="/">
现在相对路径 categories
只会将其添加到您当前所在的路径中,因此如果您在http://localhost:4200/admin
上并点击了routerLink
, categories
您将转到http://localhost:4200/admin/categories
,这是您在此尝试实现的目标。
所以只需删除/
,就像这样...... <a routerLink="dishes">dishes</a>
或者如果您愿意,可以使用绝对路径.. <a routerLink="/admin/dishes">dishes</a>