Angular 5 routerLink无法正常工作

时间:2018-03-20 22:43:16

标签: angular routerlink

有一个模块包含所有组件和一个路由模块。

路由模块:

<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;

如果我在地址栏中输入我需要的地址,一切正常。

1 个答案:

答案 0 :(得分:4)

所以这是一个简单的错误..

角度有两种类型的路径 相对路径绝对路径

所以绝对路径看起来像/admin/categories注意到开头的/,这意味着它将从索引中指定的根路径开始路径。 html为<base href="/">

现在相对路径 categories只会将其添加到您当前所在的路径中,因此如果您在http://localhost:4200/admin上并点击了routerLinkcategories您将转到http://localhost:4200/admin/categories,这是您在此尝试实现的目标。

所以只需删除/,就像这样...... <a routerLink="dishes">dishes</a>

或者如果您愿意,可以使用绝对路径.. <a routerLink="/admin/dishes">dishes</a>